//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, December 07, 2017 //-------------------------------------------------------- using Snxxz.UI; using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class KingTempleWin : Window { [SerializeField] Text m_FairyNameTxt; [SerializeField] ItemCell m_PrivilegeItem; [SerializeField] List m_SalaryItemList; [SerializeField] Image m_LeaderRealmImg; [SerializeField] Text m_LeaderNameTxt; [SerializeField] RawImage m_LeaderMob; [SerializeField] Text m_WinCntTxt; [SerializeField] Button m_WinRewardBtn; [SerializeField] Button m_FinalityBtn; [SerializeField] Button m_GuideBtn; [SerializeField] Button m_SalaryBtn; KingFairyModel m_Model; KingFairyModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } RoleParticularModel m_RoleParticularModel; RoleParticularModel particularModel { get { return m_RoleParticularModel ?? (m_RoleParticularModel = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_WinRewardBtn.onClick.AddListener(OnWinRewardBtn); m_FinalityBtn.onClick.AddListener(OnFinalityBtn); m_GuideBtn.onClick.AddListener(OnGuideBtn); m_SalaryBtn.onClick.AddListener(OnSalaryBtn); m_PrivilegeItem.cellBtn.onClick.AddListener(OnPrivilegeItem); for (int i = 0; i < m_SalaryItemList.Count; i++) { var _index = i; m_SalaryItemList[i].cellBtn.onClick.AddListener(()=> { OnSalaryItem(_index); }); } } protected override void OnPreOpen() { model.RequestKingFairyData(); model.UpdateKingFairyEvent += UpdateKingFairyEvent; UpdateKingFairyEvent(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.UpdateKingFairyEvent -= UpdateKingFairyEvent; UI3DModelExhibition.Instance.StopShowPlayer(); } protected override void OnAfterClose() { } #endregion private void OnSalaryBtn() { if (!model.IsSelfInKingFairy()) { SysNotifyMgr.Instance.ShowTip("LeagueNoFL2"); return; } if (model.dailySalaryGet) { SysNotifyMgr.Instance.ShowTip("LeagueNoFL1"); return; } CA504_tagCMPlayerGetReward _pak = new CA504_tagCMPlayerGetReward(); _pak.RewardType = (byte)GotServerRewardType.Def_RewardType_ChampionFamilyDailyReward; _pak.DataEx = (uint)0; _pak.DataExStrLen = 0; _pak.DataExStr = string.Empty; GameNetSystem.Instance.SendInfo(_pak); } private void OnGuideBtn() { WindowCenter.Instance.Open(); } private void OnFinalityBtn() { WindowCenter.Instance.Open(); } private void OnWinRewardBtn() { WindowCenter.Instance.Open(); } private void UpdateKingFairyEvent() { m_FairyNameTxt.text = model.hasKingFairy ? model.kingFairyData.fairyName : Language.Get("FamilyMatchNoOneHere"); ItemCellModel cellModel = new ItemCellModel(model.privilegeItemId); m_PrivilegeItem.Init(cellModel); for (int i = 0; i < m_SalaryItemList.Count; i++) { if (i < model.salaryAwardItems.Length) { var _itemArray = model.salaryAwardItems[i]; m_SalaryItemList[i].gameObject.SetActive(true); ItemCellModel cellModel2 = new ItemCellModel(_itemArray[0],false, (ulong)_itemArray[1], _itemArray[2]); m_SalaryItemList[i].Init(cellModel2); } else { m_SalaryItemList[i].gameObject.SetActive(false); } } m_WinCntTxt.text = StringUtility.Contact(Language.Get("FamilyMatchLianWinTimee"), model.hasKingFairy ? model.kingFairyData.multipleWinCnt.ToString() : "-"); bool _hasLeaderData = model.hasKingFairy && model.kingFairyData.leaderData != null; m_LeaderRealmImg.gameObject.SetActive(_hasLeaderData); m_LeaderNameTxt.text = Language.Get("FamilyMatchNoOneHere"); m_LeaderMob.gameObject.SetActive(_hasLeaderData); if (_hasLeaderData) { int clothes = 0; int _suitEffect = 0; var _leaderData = model.kingFairyData.leaderData; RoleParticularModel.ItemData itemData; if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.retClothes)) { itemData = _leaderData.roleEquipDataDic[RoleEquipType.retClothes]; clothes = itemData.ItemID; _suitEffect = _leaderData.GetEquipSuitLevel(); } int weapon = 0; if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.retWeapon)) { itemData = _leaderData.roleEquipDataDic[RoleEquipType.retWeapon]; weapon = itemData.ItemID; } int wing = 0; if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.retWing)) { itemData = _leaderData.roleEquipDataDic[RoleEquipType.retWing]; wing = itemData.ItemID; } int weapon2 = 0; if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.retWeapon2)) { itemData = _leaderData.roleEquipDataDic[RoleEquipType.retWeapon2]; weapon2 = itemData.ItemID; } UI3DModelExhibition.Instance.BeginShowOtherPlayer(m_LeaderMob, _leaderData.rolePropData.Job, clothes, _suitEffect, weapon, wing, weapon2); m_LeaderNameTxt.text = _leaderData.rolePropData.Name; m_LeaderRealmImg.gameObject.SetActive(_leaderData.rolePropData.RealmLV > 0); var _realmCfg = Config.Instance.Get(_leaderData.rolePropData.RealmLV); if (_realmCfg != null) { m_LeaderRealmImg.SetSprite(_realmCfg.Img); } } } private void OnPrivilegeItem() { ItemAttrData attrData = new ItemAttrData(model.privilegeItemId); ModelCenter.Instance.GetModel().SetItemTipsModel(attrData); } private void OnSalaryItem(int index) { var _itemArray = model.salaryAwardItems[index]; ItemAttrData attrData = new ItemAttrData(_itemArray[0], false, (ulong)_itemArray[1],-1, _itemArray[2]); ModelCenter.Instance.GetModel().SetItemTipsModel(attrData); } } }