콘솔로 이동

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로 SelectAdvicesInfoShowAdviceById의 두 메소드를 대체할 수 있습니다.

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 성공
}