using System; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
namespace vnxbqy.UI 
 | 
{ 
 | 
     
 | 
    public class AssistThanksWin : Window 
 | 
    { 
 | 
        [SerializeField] ScrollerController AssistCtrl; 
 | 
        [SerializeField] Button close; 
 | 
        [SerializeField] Text AssistBossText; 
 | 
        [SerializeField] ItemCell MyItem; 
 | 
        [SerializeField] ItemCell ThanksItem; 
 | 
        [SerializeField] Button OneKeyAddFriend; 
 | 
        [SerializeField] Button Thanks; 
 | 
  
 | 
  
 | 
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } } 
 | 
  
 | 
        FriendsModel m_FriendModel 
 | 
        { 
 | 
            get 
 | 
            { 
 | 
                return ModelCenter.Instance.GetModel<FriendsModel>(); 
 | 
            } 
 | 
        } 
 | 
        #region Built-in 
 | 
        protected override void BindController() 
 | 
        { 
 | 
  
 | 
        } 
 | 
  
 | 
        protected override void OnActived() 
 | 
        { 
 | 
  
 | 
        } 
 | 
  
 | 
  
 | 
        protected override void AddListeners() 
 | 
        { 
 | 
            close.AddListener(CloseClick); 
 | 
            Thanks.SetListener(() => 
 | 
            { 
 | 
                var send = new CB014_tagCGUseAssistThanksGift(); 
 | 
                send.IsPreview = 0; 
 | 
                send.ItemID = assistModel.assistThanksGift.ItemID; 
 | 
                GameNetSystem.Instance.SendInfo(send); 
 | 
                WindowCenter.Instance.Close<AssistThanksWin>(); 
 | 
            }); 
 | 
            OneKeyAddFriend.SetListener(OnOneKeyAddFriend); 
 | 
        } 
 | 
  
 | 
        protected override void OnPreOpen() 
 | 
        { 
 | 
            AssistCtrl.OnRefreshCell += OnRefreshRoleCell; 
 | 
            if (assistModel.assistThanksGift.NPCID != 0) 
 | 
            { 
 | 
                var curNPC = NPCConfig.Get((int)assistModel.assistThanksGift.NPCID); 
 | 
                AssistBossText.text = Language.Get("AssistBossThanks", 
 | 
                    MapConfig.Get((int)assistModel.assistThanksGift.MapID).Name, curNPC.charName, curNPC.NPCLV); 
 | 
            } 
 | 
            else if (assistModel.assistThanksGift.MapID != 0) 
 | 
            { 
 | 
                var mapConfig = MapConfig.Get((int)assistModel.assistThanksGift.MapID); 
 | 
                AssistBossText.text = Language.Get("AssistBossThanks1", mapConfig.Name); 
 | 
            } 
 | 
            else  
 | 
            { 
 | 
                AssistBossText.text = Language.Get("AssistThanks_" + assistModel.assistThanksGift.ItemID); 
 | 
            } 
 | 
  
 | 
            AssistCtrl.Refresh(); 
 | 
  
 | 
            for (int i = 0; i < assistModel.assistThanksGift.AssistPlayerCount; i++) 
 | 
            { 
 | 
                AssistCtrl.AddCell(ScrollerDataType.Header, i); 
 | 
            } 
 | 
            AssistCtrl.Restart(); 
 | 
  
 | 
  
 | 
            var award = AssistThanksGiftConfig.Get((int)assistModel.assistThanksGift.ItemID); 
 | 
            var myAwards = ConfigParse.GetMultipleStr(award.RequestPlayerAward); 
 | 
            ItemCellModel cellModel = new ItemCellModel(int.Parse(myAwards[0]), true, (ulong)int.Parse(myAwards[1])); 
 | 
            MyItem.Init(cellModel); 
 | 
            MyItem.button.SetListener(() => 
 | 
            { 
 | 
                ItemTipUtility.Show(int.Parse(myAwards[0])); 
 | 
            }); 
 | 
  
 | 
            var thanksAwards = ConfigParse.GetMultipleStr(award.AssistPlayerAward); 
 | 
            ItemCellModel cellModel2 = new ItemCellModel(int.Parse(thanksAwards[0]), true, (ulong)int.Parse(thanksAwards[1])); 
 | 
            ThanksItem.Init(cellModel2); 
 | 
            ThanksItem.button.SetListener(() => 
 | 
            { 
 | 
                ItemTipUtility.Show(int.Parse(thanksAwards[0])); 
 | 
            }); 
 | 
        } 
 | 
  
 | 
  
 | 
        protected override void OnAfterOpen() 
 | 
        { 
 | 
  
 | 
        } 
 | 
  
 | 
        protected override void OnPreClose() 
 | 
        { 
 | 
            AssistCtrl.OnRefreshCell -= OnRefreshRoleCell; 
 | 
            assistModel.assistThanksGift = null; 
 | 
        } 
 | 
  
 | 
        protected override void OnAfterClose() 
 | 
        { 
 | 
  
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        private void OnRefreshRoleCell(ScrollerDataType type, CellView cell) 
 | 
        { 
 | 
            var roleCell = cell as AssistThanksCell; 
 | 
            roleCell.Display(cell.index); 
 | 
        } 
 | 
  
 | 
        private void OnOneKeyAddFriend() 
 | 
        { 
 | 
            foreach (var playerInfo in assistModel.assistThanksGift.AssistPlayerList) 
 | 
            { 
 | 
                if (m_FriendModel.GetFirendInfo(playerInfo.PlayerID, 2) == null) 
 | 
                { 
 | 
                    CB301_tagCGAddFriend addFriend = new CB301_tagCGAddFriend(); 
 | 
                    addFriend.TagID = playerInfo.PlayerID; 
 | 
                    addFriend.TagName = ""; 
 | 
                    GameNetSystem.Instance.SendInfo(addFriend); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |