//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, October 25, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using LitJson; using vnxbqy.UI; namespace vnxbqy.UI { public class CreateRoleAwardWin : Window { [SerializeField] ItemCell[] itemBehaviours1; [SerializeField] Button m_Get; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Get.AddListener(GetAward); } public int[][] salaryAwardItems; protected override void OnPreOpen() { DTCA720_tagMCCreateRoleAwardState.OnCreateRoleAwardState += CloseClick; GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; FuncConfigConfig funcConfig = FuncConfigConfig.Get("CreateRoleAward"); salaryAwardItems = JsonMapper.ToObject(funcConfig.Numerical1); DrawItems(); WindowCenter.Instance.Close(); PlayerDatas.Instance.hero.StopAll(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { DTCA720_tagMCCreateRoleAwardState.OnCreateRoleAwardState -= CloseClick; GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; WindowCenter.Instance.Open(); } protected override void OnAfterClose() { } #endregion void OnSecondEvent() { PlayerDatas.Instance.hero.StopAll(); } private void DrawItems() { var items = new List(); for (int i = 0; i < salaryAwardItems.Length; i++) { var serverItem = salaryAwardItems[i]; items.Add(new Item(serverItem[0], serverItem[1])); } for (int i = 0; i < itemBehaviours1.Length; i++) { var behaviour = itemBehaviours1[i]; if (i < items.Count) { behaviour.SetActive(true); var reward = items[i]; int itemID = reward.id; behaviour.Init(new ItemCellModel(reward.id, false, (ulong)reward.count)); behaviour.button.SetListener(() => { ItemTipUtility.Show(itemID); }); } else { behaviour.SetActive(false); } } } private void GetAward() { var send = new CA504_tagCMPlayerGetReward(); send.RewardType = 32; GameNetSystem.Instance.SendInfo(send); } } }