| using System;  | 
| using UnityEngine;  | 
| using UnityEngine.UI;  | 
|   | 
| namespace vnxbqy.UI  | 
| {  | 
|       | 
|     public class DungeonAssistWin : Window, SecondWindowInterface  | 
|     {  | 
|         [SerializeField] ScrollerController resultCtrl;  | 
|         [SerializeField] Button registerBtn;  | 
|         [SerializeField] Button m_AddFriend;  | 
|         [SerializeField] GameObject noResultObj;  | 
|         [SerializeField] FunctionButton m_FamilyHelpBtn;  | 
|         [SerializeField] FunctionButtonGroup m_FuncBtnGroup;  | 
|         [SerializeField] Text m_ActiveCount;  | 
|         [SerializeField] Text m_SocialActiveCount;  | 
|   | 
|         DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }  | 
|         StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }  | 
|   | 
|         public Button close { get; set; }  | 
|   | 
|         #region Built-in  | 
|         protected override void BindController()  | 
|         {  | 
|             if (this is SecondWindowInterface)  | 
|             {  | 
|                 var frame = this.GetComponentInChildren<SecondFrameLoader>();  | 
|                 frame.Create();  | 
|                 close = frame.GetComponentInChildren<Button>();  | 
|             }  | 
|         }  | 
|   | 
|         protected override void OnActived()  | 
|         {  | 
|             base.OnActived();  | 
|             functionOrder = m_FamilyHelpBtn.order;  | 
|   | 
|             m_FuncBtnGroup.TriggerByOrder(functionOrder);  | 
|         }  | 
|   | 
|   | 
|         protected override void AddListeners()  | 
|         {  | 
|             close.AddListener(CloseClick);  | 
|             registerBtn.AddListener(ClickAssistRegister);  | 
|             m_AddFriend.SetListener(OpenAddFriendWindow);  | 
|             m_FamilyHelpBtn.SetListener(() => { });  | 
|         }  | 
|   | 
|         protected override void OnPreOpen()  | 
|         {  | 
|             PlayerDetails.updateDetailTypeEvent += ClickFunc;  | 
|             assistModel.UpdateCheckInResultEvent += UpdateCheckInResult;  | 
|             assistModel.UpdateAssistInfo += UpdateAssistInfo;  | 
|             assistModel.UpdateTodayAssistMoney += DisplayAssistMoney;  | 
|             PlayerDatas.Instance.playerDataRefreshEvent += UpdateAssistCoins;  | 
|             SetDisplay();  | 
|         }  | 
|   | 
|         protected override void OnAfterOpen()  | 
|         {  | 
|             this.transform.SetAsLastSibling();  | 
|         }  | 
|   | 
|         protected override void OnPreClose()  | 
|         {  | 
|             PlayerDatas.Instance.playerDataRefreshEvent -= UpdateAssistCoins;  | 
|             PlayerDetails.updateDetailTypeEvent -= ClickFunc;  | 
|             assistModel.UpdateAssistInfo -= UpdateAssistInfo;  | 
|             assistModel.UpdateCheckInResultEvent -= UpdateCheckInResult;  | 
|             assistModel.UpdateTodayAssistMoney -= DisplayAssistMoney;  | 
|             assistModel.SetHelpInfoRead();  | 
|         }  | 
|   | 
|         protected override void OnAfterClose()  | 
|         {  | 
|   | 
|         }  | 
|         #endregion  | 
|   | 
|         private void DisplayAssistMoney()  | 
|         {  | 
|             m_ActiveCount.text = assistModel.m_TodayAssistMoney.ToString() + "/" + FuncConfigConfig.Get("AssistAward").Numerical4;  | 
|             m_SocialActiveCount.text = assistModel.m_SocialMoney.ToString();  | 
|         }  | 
|   | 
|   | 
|         private void SetDisplay()  | 
|         {  | 
|             CreateResultCell();  | 
|             UpdateRegisterBtn();  | 
|             DisplayAssistMoney();  | 
|         }  | 
|   | 
|         private void CreateResultCell()  | 
|         {  | 
|             resultCtrl.Refresh();  | 
|   | 
|             int i = 0;  | 
|             foreach (string guid in assistModel.assistInfoDict.Keys)  | 
|             {  | 
|                 CellInfo info = new CellInfo();  | 
|                 info.infoStr1 = guid;  | 
|                 resultCtrl.AddCell(ScrollerDataType.Header, i, info);  | 
|                 i++;  | 
|             }  | 
|             resultCtrl.Restart();  | 
|               | 
|   | 
|             noResultObj.SetActive(i == 0);  | 
|         }  | 
|   | 
|         private void UpdateAssistInfo()  | 
|         {  | 
|             CreateResultCell();  | 
|         }  | 
|   | 
|         private void UpdateAssistCoins(PlayerDataType type)  | 
|         {  | 
|               | 
|         }  | 
|   | 
|   | 
|         private void UpdateRegisterBtn()  | 
|         {  | 
|             registerBtn.SetActive(!assistModel.IsCheckInOk);  | 
|             m_AddFriend.SetActive(assistModel.IsCheckInOk);  | 
|         }  | 
|   | 
|         private void UpdateCheckInResult()  | 
|         {  | 
|             UpdateRegisterBtn();  | 
|             if (assistModel.IsCheckInOk)  | 
|             {  | 
|                 WindowCenter.Instance.Open<AssistCheckInSuccessWin>();  | 
|             }  | 
|         }  | 
|   | 
|         private void ClickAssistRegister()  | 
|         {  | 
|             if (!assistModel.IsCheckInOk)  | 
|             {  | 
|                 assistModel.SendAssistCheckIn();  | 
|             }  | 
|         }  | 
|   | 
|         private void OpenAddFriendWindow()  | 
|         {  | 
|             WindowCenter.Instance.Open<AddFriendWin>();  | 
|         }  | 
|   | 
|         private void ShowFamilyHelp()  | 
|         {  | 
|             functionOrder = m_FamilyHelpBtn.order;  | 
|         }  | 
|   | 
|         private void ClickFunc(PlayerDetails.DetailType type)  | 
|         {  | 
|   | 
|             WindowJumpMgr.Instance.ClearJumpData();  | 
|             if (WindowCenter.Instance.IsOpen<DailyQuestWin>())  | 
|             {  | 
|                 WindowCenter.Instance.Close<DailyQuestWin>();  | 
|             }  | 
|             CloseClick();  | 
|         }  | 
|   | 
|         private void ClickStore()  | 
|         {  | 
|             WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.XianYuanCoinsStore);  | 
|         }  | 
|     }  | 
| }  |