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(); } } FriendsModel m_FriendModel { get { return ModelCenter.Instance.GetModel(); } } #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(); }); 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); } } } } }