少年修仙传客户端代码仓库
client_linchunjie
2018-09-06 619a37b0c8c78845a034d1e36a5d77654f88a23e
System/MainInterfacePanel/TaskWin.cs
@@ -1,147 +1,151 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, October 11, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//任务界面面板控制器
namespace Snxxz.UI
{
    public class TaskWin : Window
    {
        [SerializeField] FunctionButton CoinTaskWin;
        [SerializeField] FunctionButton StoryTaskWin;
        [SerializeField] FunctionButton SideMission;
        [SerializeField] FunctionButtonGroup FuncBtnGroup;
        //-------------
        [SerializeField] Button _CloseBtn;
        [SerializeField] GameObject _CoinTaskWin;
        [SerializeField] GameObject _StoryTaskWin;
        [SerializeField] GameObject _SideMission;
        #region Built-in
        PlayerTaskDatas m_TaskModel;
        PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
        PlayerDeadModel _deadModel;
        PlayerDeadModel DeadModel
        {
            get { return _deadModel ?? (_deadModel = ModelCenter.Instance.GetModel<PlayerDeadModel>()); }
        }
        CoinTaskTipModel m_CoinTaskTip;
        CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            _CloseBtn.onClick.AddListener(CloseButton);
            CoinTaskWin.AddListener(OnClickCoinTask);
            StoryTaskWin.AddListener(OnClickStoryTask);
            SideMission.AddListener(OnClickSideMission);
        }
        protected override void OnPreOpen()
        {
            DeadModel.playerDieEvent += OnPlayerDie;
            ClosePanel();
            if (taskmodel.SideQuestsDic.Count != 0)
            {
                SideMission.gameObject.SetActive(true);
            }
            else
            {
                SideMission.gameObject.SetActive(false);
            }
        }
        protected override void OnAfterOpen()
        {
            if(functionOrder == 0)
            {
                if (FuncOpen.Instance.IsFuncOpen(34))
                {
                    FuncBtnGroup.TriggerByOrder(0);
                }
                else
                {
                    FuncBtnGroup.TriggerByOrder(1);
                }
            }
            else
            {
                FuncBtnGroup.TriggerByOrder(functionOrder);
            }
        }
        protected override void OnPreClose()
        {
            DeadModel.playerDieEvent -= OnPlayerDie;
        }
        private void OnPlayerDie()
        {
            Close();
        }
        protected override void OnAfterClose()
        {
        }
        void OnClickCoinTask()
        {
            functionOrder = 0;
            ClosePanel();
            //if (coinTaskTip.IsPopup)
            //{
            //    coinTaskTip.IsPopup = false;
            //}
            _CoinTaskWin.SetActive(true);
        }
        void OnClickStoryTask()
        {
            functionOrder = 1;
            ClosePanel();
            _StoryTaskWin.SetActive(true);
        }
        void OnClickSideMission()
        {
            //if (taskmodel.SideQuestsDic.Count <= 0)
            //{
            //    SysNotifyMgr.Instance.ShowTip("SideQuest_None");//信息提示
            //    return;
            //}
            functionOrder = 2;
            ClosePanel();
            _SideMission.SetActive(true);
        }
        private void ClosePanel()
        {
            _StoryTaskWin.SetActive(false);
            _CoinTaskWin.SetActive(false);
            _SideMission.SetActive(false);
        }
        void CloseButton()
        {
            _CoinTaskWin.SetActive(false);
            _StoryTaskWin.SetActive(false);
            WindowCenter.Instance.CloseImmediately<TaskWin>();
            WindowCenter.Instance.Open<MainInterfaceWin>();
        }
        #endregion
    }
}
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, October 11, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//任务界面面板控制器
namespace Snxxz.UI
{
    public class TaskWin : Window
    {
        [SerializeField] FunctionButton CoinTaskWin;
        [SerializeField] FunctionButton StoryTaskWin;
        [SerializeField] FunctionButton SideMission;
        [SerializeField] FunctionButtonGroup FuncBtnGroup;
        //-------------
        [SerializeField] Button _CloseBtn;
        [SerializeField] GameObject _CoinTaskWin;
        [SerializeField] GameObject _StoryTaskWin;
        [SerializeField] GameObject _SideMission;
        #region Built-in
        PlayerTaskDatas m_TaskModel;
        PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
        PlayerDeadModel _deadModel;
        PlayerDeadModel DeadModel
        {
            get { return _deadModel ?? (_deadModel = ModelCenter.Instance.GetModel<PlayerDeadModel>()); }
        }
        CoinTaskTipModel m_CoinTaskTip;
        CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            _CloseBtn.onClick.AddListener(CloseButton);
            CoinTaskWin.AddListener(OnClickCoinTask);
            StoryTaskWin.AddListener(OnClickStoryTask);
            SideMission.AddListener(OnClickSideMission);
        }
        protected override void OnPreOpen()
        {
            DeadModel.playerDieEvent += OnPlayerDie;
            ClosePanel();
            if (taskmodel.SideQuestsDic.Count != 0)
            {
                SideMission.gameObject.SetActive(true);
            }
            else
            {
                SideMission.gameObject.SetActive(false);
            }
        }
        protected override void OnAfterOpen()
        {
            if(functionOrder == 0)
            {
                if (FuncOpen.Instance.IsFuncOpen(34))
                {
                    FuncBtnGroup.TriggerByOrder(0);
                }
                else
                {
                    FuncBtnGroup.TriggerByOrder(1);
                }
            }
            else
            {
                FuncBtnGroup.TriggerByOrder(functionOrder);
            }
        }
        protected override void OnPreClose()
        {
            DeadModel.playerDieEvent -= OnPlayerDie;
        }
        private void OnPlayerDie()
        {
            CloseImmediately();
            if (!WindowCenter.Instance.CheckOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        protected override void OnAfterClose()
        {
        }
        void OnClickCoinTask()
        {
            functionOrder = 0;
            ClosePanel();
            //if (coinTaskTip.IsPopup)
            //{
            //    coinTaskTip.IsPopup = false;
            //}
            _CoinTaskWin.SetActive(true);
        }
        void OnClickStoryTask()
        {
            functionOrder = 1;
            ClosePanel();
            _StoryTaskWin.SetActive(true);
        }
        void OnClickSideMission()
        {
            //if (taskmodel.SideQuestsDic.Count <= 0)
            //{
            //    SysNotifyMgr.Instance.ShowTip("SideQuest_None");//信息提示
            //    return;
            //}
            functionOrder = 2;
            ClosePanel();
            _SideMission.SetActive(true);
        }
        private void ClosePanel()
        {
            _StoryTaskWin.SetActive(false);
            _CoinTaskWin.SetActive(false);
            _SideMission.SetActive(false);
        }
        void CloseButton()
        {
            _CoinTaskWin.SetActive(false);
            _StoryTaskWin.SetActive(false);
            WindowCenter.Instance.CloseImmediately<TaskWin>();
            WindowCenter.Instance.Open<MainInterfaceWin>();
        }
        #endregion
    }
}