소셜 이벤트 설명 및 활용 예제
이 문서는 소셜 이벤트가 어떻게 작동하는지에 대한 설명과 함께 다양한 활용 및 응용 예제를 제공합니다. 소셜 이벤트는 특정 소셜 기능 및 Xbox Live 기능의 콜백에 의해 트리거되며, async_load
변수에 저장된 DS 맵을 반환합니다. 이 맵은 콜백에 따라 다양한 키/값 쌍을 포함합니다.
소셜 이벤트 트리거
소셜 이벤트는 다음과 같은 상황에서 트리거될 수 있습니다:
- OS 대시보드에서 게임이 시작될 때
- 도전 과제를 완료할 때
- 다른 플레이어가 도전 과제를 완료할 때
- OS 대시보드에서 도전 과제를 선택하여 게임을 시작할 때
이러한 콜백 중 하나가 발생하면 소셜 이벤트가 트리거되고, 다음과 같은 세부 정보를 포함하는 async_load
맵이 생성됩니다:
키 | 설명 |
---|---|
"id" | 이벤트를 트리거한 콜백의 유형에 따라 값이 달라짐 |
"playerid" | 도전 과제를 위한 플레이어 ID |
"issuerid" | 도전 과제를 발행한 사람의 ID |
"state" | 도전 과제의 상태 (0: 유효하지 않음, 1: 대기 중, 2: 완료, 3: 거부됨) |
"message" | 도전 과제에 대한 텍스트 메시지 |
"issueddate" | 도전 과제 발행 날짜 |
"completeddate" | 도전 과제 완료 날짜 |
"type" | 주어진 도전 과제의 유형 |
"identifier" | 도전 과제를 식별하는 문자열 |
"score" | 도전 과제와 관련된 점수 |
활용 예제
아래는 소셜 이벤트를 활용하는 몇 가지 예제입니다.
예제 1: 도전 과제 상태 확인
if (async_load[? "id"] == SOME_CONSTANT) {
var player_id = async_load[? "playerid"];
var challenge_state = async_load[? "state"];
// 도전 과제 상태에 따라 처리
}
예제 2: 도전 과제 메시지 표시
if (async_load[? "id"] == ANOTHER_CONSTANT) {
var message = async_load[? "message"];
show_message(message);
}
예제 3: 도전 과제 점수 기록
if (async_load[? "id"] == YET_ANOTHER_CONSTANT) {
var score = async_load[? "score"];
record_score(score);
}
이와 같은 방식으로 소셜 이벤트를 활용하여 게임 내에서 다양한 기능을 구현할 수 있습니다.