void Awake()
    {
        Instance = this;

        m_idle                  = true;
        m_idleUIVisible         = false;
        m_swipeIndicatorVisible = false;

        m_indicatorSwipeUp.SetActive(false);                                                                                                    // 방향 표시는 우선은 전부 감춰둔다
        m_indicatorSwipeDown.SetActive(false);
        m_indicatorSwipeLeft.SetActive(false);
        m_indicatorSwipeRight.SetActive(false);

        FSNEngine.Instance.ControlSystem.AddSwipeHandler(gameObject);           // 핸들러 등록. 임시방편에 가깝다....

        // 다이얼로그 스택 초기화

        m_dialogStack = new DialogStack();
        int dialogCount = m_dialogs.Length;

        for (int i = 0; i < dialogCount; i++)                                                           // 다이얼로그들 스택에 미리 등록
        {
            m_dialogs[i].RegisterDialogProtocol(m_dialogStack);
        }
    }
 void OnDestroy()
 {
     FSNEngine.Instance.ControlSystem.RemoveSwipeHandler(gameObject);
     Instance = null;
 }
 /// <summary>
 /// 다이얼로그 프로토콜을 추가한다
 /// </summary>
 /// <param name="protadd"></param>
 public void RegisterDialogProtocol(FSNOverlayUI.IDialogProtocolAdd protadd)
 {
     protadd.AddDialogProtocol(this.GetType(), GenerateProtocolObj());
 }