예제 #1
0
파일: Dialog.cs 프로젝트: daxingyou/-game
        public static void Show(GameObject go, bool isModal, Dialog.DialogCloseDelegate closeCallback, Dialog.DialogShowedDelegate showCallback)
        {
            if (go == null)
            {
                return;
            }
            UIDialogView dialog = go.GetComponent <UIDialogView>();

            if (dialog == null)
            {
                dialog = go.AddComponent <UIDialogView>();
            }
            if (closeCallback != null)
            {
                dialog.hideCallback += closeCallback;
            }
            if (showCallback != null)
            {
                dialog.ShowedEvent += showCallback;
            }
            dialog.mIsModal = isModal;

            if (Dialog.mNextDialog != null)
            {
                Dialog.mNextDialog.Remove();
                Dialog.mNextDialog = null;
            }
            Dialog.mNextDialog = dialog;

            Hide(DialogState.OK, delegate
            {
                ShowEx();
            });
        }
예제 #2
0
        static internal void Lua_UI_Dialog_DialogShowedDelegate(LuaFunction ld, UIDialogView a1)
        {
            IntPtr l     = ld.L;
            int    error = pushTry(l);

            pushValue(l, a1);
            ld.pcall(1, error);
            LuaDLL.lua_settop(l, error - 1);
        }
예제 #3
0
파일: Dialog.cs 프로젝트: daxingyou/-game
        private static void ShowEx()
        {
            if (Dialog.mNextDialog == null)
            {
                return;
            }
            Dialog.mTargetDialog = Dialog.mNextDialog;
            Dialog.mNextDialog   = null;

            if (Dialog.mTargetDialog.mIsModal)
            {
                UIManager.Instance.ShowModal(true);
            }
            else
            {
                UIManager.Instance.HideModal(true);
            }
            UIManager.Instance.AddDialog(Dialog.mTargetDialog.gameObject);

            Dialog.mTargetDialog.HideEvent += DialogHide;
            Dialog.mTargetDialog.Show();
        }
예제 #4
0
파일: Dialog.cs 프로젝트: daxingyou/-game
 private static void DialogHide(UIDialogView dialog, DialogState state)
 {
     UIManager.Instance.HideModal(true);
     Dialog.mTargetDialog = null;
 }
예제 #5
0
파일: Dialog.cs 프로젝트: daxingyou/-game
 public static void Reset()
 {
     mTargetDialog = null;
     mNextDialog   = null;
 }