feat: 뒤끝 서버 연결 테스트 및 에셋 추가
This commit is contained in:
67
Gameton-06/Assets/TheBackend/Toolkit/SendQueueMgr.cs
Normal file
67
Gameton-06/Assets/TheBackend/Toolkit/SendQueueMgr.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using BackEnd;
|
||||
|
||||
// SendQueue를 손쉽게 사용하기 위한 SendQueueMgr 클래스 입니다.
|
||||
// 해당 스크립트를 유니티 객체에 스크롤 해서 적용해주세요.
|
||||
// SendQueue에 대한 자세한 설명은 아래 개발자 문서를 참고해주세요.
|
||||
// https://developer.thebackend.io/unity3d/guide/Async/SendQueue/
|
||||
|
||||
public class SendQueueMgr : MonoBehaviour
|
||||
{
|
||||
void Awake()
|
||||
{
|
||||
// 씬이 바뀌어도 계속 SendQueue를 사용하기 위해서
|
||||
// 아래 DontDestroyOnLoad 함수를 통해 SendQueue 객체를 파괴되지 않는 오브젝트로 만듭니다.
|
||||
// 자세한 설명은 아래 유니티 개발자문서를 참고해주세요.
|
||||
// https://docs.unity3d.com/kr/current/ScriptReference/Object.DontDestroyOnLoad.html
|
||||
DontDestroyOnLoad(this);
|
||||
|
||||
// 만약 SendQueue가 초기화 되지 않았다면 초기화 수행
|
||||
if (SendQueue.IsInitialize == false)
|
||||
{
|
||||
// SendQueue는 시작과 동시에 초기화가 수행됩니다.
|
||||
// 디버그 로그 활성화, 예외 이벤트 핸들러 등록
|
||||
SendQueue.StartSendQueue(true, ExceptionEvent);
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
// SendQueue가 초기화 되었을 때만 Poll 함수를 호출
|
||||
if (SendQueue.IsInitialize)
|
||||
{
|
||||
// SendQueue를 정상적으로 사용하기 위해서는
|
||||
// 아래 Poll 함수가 반드시 정기적으로 호출되어야 합니다.
|
||||
BackEnd.SendQueue.Poll();
|
||||
}
|
||||
}
|
||||
|
||||
// SendQueue 내부에서 예외가 발생했을 경우
|
||||
// 아래 이벤트 핸들러를 통해 예외 이벤트가 전달됩니다.
|
||||
void ExceptionEvent(Exception e)
|
||||
{
|
||||
Debug.Log(e.ToString());
|
||||
}
|
||||
|
||||
|
||||
void OnApplicationPause(bool isPause)
|
||||
{
|
||||
if (isPause == false)
|
||||
{
|
||||
// 어플리케이션이 재실행 되었을 때 SendQueue를 재실행 시킴
|
||||
SendQueue.ResumeSendQueue();
|
||||
}
|
||||
else
|
||||
{
|
||||
// 어플리케이션이 정지되었을 때 SendQueue를 일시 정지 시킴
|
||||
SendQueue.PauseSendQueue();
|
||||
}
|
||||
}
|
||||
|
||||
void OnApplicationQuit()
|
||||
{
|
||||
// 어플리케이션이 종료되었을 때 SendQueue를 정지 시킴
|
||||
BackEnd.SendQueue.StopSendQueue();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user