TPMentor
TPMentor
Class in TentuPlay.CRM / Implemented in:TentuPlay.CRM
설명
텐투플레이 우편 출력 기능을 위한 클래스입니다.
메소드
GetAdvicesAsync | 플레이어의 Advice 내용을 Async로 가져와 클라이언트 DB에 저장합니다. |
---|---|
SelectAdvicesInfo | 현재 클라이언트 DB에 있는 유효한 우편의 간단한 정보들을 최신 생성된 우편 순으로 불러옵니다. |
ShowAdviceById | 플레이어에게 우편(Advice) 화면을 보여주는 메소드입니다. |
ShowAdvices | 플레이어에게 가장 최신의 우편(Advice) 화면을 보여주는 메소드입니다. |
AddAdviceClosedCount | 우편의 closed_count에 1을 더해 열어본 적이 있는 우편임을 표시합니다. |
속성
GetAdvicesAsyncResult | GetAdvicesAsync의 콜백 속성으로 GetAdvicesAsync 상태를 나타냅니다. |
---|
GetAdvicesAsync
public void GetAdvicesAsync(string player_uuid);
설명
플레이어의 Advice 내용을 Async로 가져와 클라이언트 DB에 저장합니다. 게임 로딩 시 사용할 수 있습니다. GetAdvicesAsync의 상태는 GetAdvicesAsyncResult 속성으로 알 수 있습니다.
다음번 GetAdvicesAsync를 호출하기까지 최소 600초의 텀이 있어야합니다. 그렇지 않을 경우 TentuPlay debug mode이고 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다:
TPDebug||GetAdvicesAsync started but too soon to send : advicesLastGetTs
GetAdvicesAsync에 실패하였을 경우, TentuPlay debug mode이고 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다:
TPError||Error while getting advice: ERROR_MESSAGE
파라미터
player_uuid |
플레이어의 고유 ID |
---|
SelectAdvicesInfo
public List<AdviceInfo> SelectAdvicesInfo(int maximum_closed_count = 10000);
설명
현재 클라이언트 DB에 있는 유효한 우편의 간단한 정보들을 최신 생성된 우편 순으로 불러옵니다.
리턴값
AdviceInfo: 우편 정보.
public class AdviceInfo
{
public int advice_id;
public int closed_count;
public string valid_until;
}
불러오기에 실패할 경우 null이 리턴되며 TentuPlay debug mode이라면 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다:
TPError||ERROR select from Advice : EXCEPTION_ERROR_MESSAGE
파라미터
maximum_closed_count |
가져오는 우편의 closed_count 상한선 |
---|
ShowAdviceById
public int ShowAdviceById(GameObject tpAdviceControllerGameObject, string player_uuid, int advice_id);
설명
플레이어에게 우편(Advice) 화면을 보여주는 메소드입니다.
SelectAdvicesInfo 호출 후에 advice_id를 파라미터로 받아 그에 해당하는 하나의 우편을 띄워주는 메소드입니다.
ShowAdvices와 ShowAdvicesById는 TPAdviceWindowUI{Persona}Controller 중 플레이어에 맞는 모델의 PlaceAdvice를 호출하며, TPAdviceTemplates/Resources의 Prefab 중에 해당 플레이어가 속하는 모델의 Prefab을 동적으로 불러와 화면에 보여줍니다. 플레이어에 해당하는 분석결과가 없을 경우 아무 창도 뜨지 않습니다. 자세한 내용은 TPAdviceWindowUI{SomeModel}Controller 스크립을 참고할 수 있으며 해당 스크립은 변형/수정하여 사용하실 수 있습니다.
Advice 보여주기에 성공 시 1을 리턴하고, 실패할 경우 -1, 보여줄 Advice가 없을 경우 0을 리턴합니다.
파라미터
tpAdviceControllerGameObject |
TPAdviceController 게임오브젝트 |
---|---|
player_uuid |
플레이어의 고유 ID |
advice_id |
우편 고유 ID. AdviceInfo.advice_id로 가져올 수 있습니다. |
ShowAdvices
public int ShowAdvices(GameObject tpAdviceControllerGameObject, string player_uuid, int maximum_closed_count = 10000);
설명
플레이어에게 가장 최신의 우편(Advice) 화면을 보여주는 메소드입니다. 가장 최신 우편 하나만을 보여주기 위해서는 ShowAdvices로 SelectAdvicesInfo와 ShowAdviceById의 두 메소드를 대체할 수 있습니다.
ShowAdvices와 ShowAdviceById는 TPAdviceWindowUI{SomeModel}Controller 중 플레이어에 맞는 모델의 PlaceAdvice를 호출하며, TPAdviceTemplates/Resources의 Prefab 중에 해당 플레이어가 속하는 모델의 Prefab을 동적으로 불러와 화면에 보여줍니다. 플레이어에 해당하는 분석결과가 없을 경우 아무 창도 뜨지 않습니다. 자세한 내용은 TPAdviceWindowUI{SomeModel}Controller 스크립을 참고할 수 있으며 해당 스크립은 변형/수정하여 사용하실 수 있습니다.
Advice 보여주기에 성공 시 1을 리턴하고, 실패할 경우 -1, 보여줄 Advice가 없을 경우 0을 리턴합니다.
파라미터
tpAdviceControllerGameObject |
TPAdviceController 게임오브젝트 |
---|---|
player_uuid |
플레이어의 고유 ID |
maximum_closed_count |
가져오는 우편의 closed_count 상한선 |
AddAdviceClosedCount
public int AddAdviceClosedCount(int advice_id);
설명
우편의 AdviceInfo.closed_count에 1을 더해 열어본 적이 있는 우편임을 표시합니다. 우편을 닫을 때 호출하므로 각 모델 컨트롤러인 TPAdviceWindowUI{SomeModel}Controller에 위치합니다.
성공 시 1을 리턴하고, 그렇지 못할 경우 -1을 리턴합니다. -1이 리턴될 경우, TentuPlay debug mode이라면 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다:
TPError||ERROR updating closed_count in advice : EXCEPTION_ERROR_MESSAGE
파라미터
advice_id |
우편 고유 ID. |
---|
GetAdvicesAsyncResult
public Result GetAdvicesAsyncResult;
설명
GetAdvicesAsync의 콜백 속성으로 GetAdvicesAsync 상태를 나타냅니다.
public enum Result
{
None, // GetAdviceAsync가 아직 진행 중
Failed, // GetAdviceAsync 실패
Success // GetAdviceAsync 성공
}