| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 | using UnityEngine;using FairyGUI;using UI.LuckyBox;using UI.CommonGame;using System.Collections.Generic;namespace GFGGame{    public class LuckyBoxBonusView : BaseWindow    {        private UI_LuckBoxBonusUI _ui;        private List<ItemData> itemList;        private List<GameObject> _effects = new List<GameObject>();        private List<GoWrapper> _wrappers = new List<GoWrapper>();        private GameObject _effect;        private GoWrapper _wrapper;        public override void Dispose()        {            base.Dispose();            for (int i = 0; i < _effects.Count; i++)            {                SceneController.DestroyObjectFromView(_effects[i]);            }            SceneController.DestroyObjectFromView(_effect);        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_LuckBoxBonusUI.PACKAGE_NAME;            _ui = UI_LuckBoxBonusUI.Create();            this.viewCom = _ui.target;            isfullScreen = true;            InitAllItem();            _ui.m_loaBg.touchable = false;            _ui.m_loaBg.onClick.Add(OnClickBg);            string resPath = ResPathUtil.GetViewEffectPath("ui_ck", "ui_ck_zl");            for (int i = 0; i < 10; i++)            {                GameObject gameObject0;                GoWrapper wrapper0;                GGraph holder = _ui.target.GetChild("item" + i).asCom.GetChild("holder").asGraph;                SceneController.AddObjectToView(null, null, holder, resPath, out gameObject0, out wrapper0);                _effects.Add(gameObject0);            }            GGraph holder1 = _ui.target.GetChild("itemOne").asCom.GetChild("holder").asGraph;            SceneController.AddObjectToView(null, null, holder1, resPath, out _effect, out _wrapper);        }        protected override void OnShown()        {            base.OnShown();            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gxhd_bjbj");            itemList = (viewData as object[])[0] as List<ItemData>;            if (itemList != null)            {                _ui.m_loaBg.touchable = false;                int count = itemList.Count;                if (count == 10)                {                    ShowBonusList(itemList);                }                else if (count > 0)                {                    ShowBonus(itemList[0]);                }                else                {                    _ui.m_loaBg.touchable = true;                }            }            else            {                _ui.m_loaBg.touchable = true;            }        }        protected override void OnHide()        {            base.OnHide();        }        private void OnClickBg()        {            this.Hide();            ViewManager.Show(ViewName.LUCKY_BOX_VIEW, ViewManager.GetGoBackDatas(ViewName.LUCKY_BOX_STAR_VIEW));            GetSuitItemController.TryShow(0);        }        private void ShowBonusList(List<ItemData> itemList)        {            HideAllItem();            for (int i = 0; i < 10; i++)            {                ItemData itemData = itemList[i];                GObject itemObject = _ui.target.GetChild("item" + i);                if (itemObject != null)                {                    UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(itemObject);                    UpdateItem(itemUI, itemData, i);                    UI_LuckyBoxBonusItem.ProxyEnd();                    Timers.inst.Add(0.3f * i, 1, (object param) =>                    {                        itemObject.visible = true;                        if ((int)param == 9)                        {                            Timers.inst.Add(0.1f, 1, (object param) =>                            {                                _ui.m_loaBg.touchable = true;                                // List<ItemData> list = LuckyBoxDataManager.Instance.GetFirstClothingList();                                // if (list.Count > 0)                                // {                                //     ViewManager.Show(ViewName.LUCKY_BOX_CARD_VIEW, new object[] { list, FirstGetCardViewType.CANNOT_JUMP_CANNOT_SUIT });                                // }                                // else                                // {                                // GetSuitItemController.TryShow(0);                                // }                            });                        }                    }, i);                }            }        }        private void ShowBonus(ItemData itemData)        {            HideAllItem();            _ui.m_itemOne.visible = true;            UI_LuckyBoxBonusItem itemUI = UI_LuckyBoxBonusItem.Proxy(_ui.m_itemOne);            UpdateItem(itemUI, itemData, 0);            UI_LuckyBoxBonusItem.ProxyEnd();            _ui.m_loaBg.touchable = true;        }        private void HideAllItem()        {            _ui.m_itemOne.visible = false;            for (int i = 0; i < 10; i++)            {                GObject itemObject = _ui.target.GetChild("item" + i);                if (itemObject != null)                {                    itemObject.visible = false;                }            }        }        private void UpdateItem(UI_LuckyBoxBonusItem itemUI, ItemData itemData, int index)        {            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemData.id);            itemUI.m_comIcon.m_icon.url = ResPathUtil.GetIconPath(itemCfg);            bool isFirst = true;            int count = 0;            for (int i = 0; i < itemList.Count; i++)            {                if (i < index && itemList[i].id == itemData.id)                {                    isFirst = false;                }                if (itemList[i].id == itemData.id)                {                    count++;                }            }            itemUI.m_comIcon.m_imgNew.visible = ItemDataManager.GetItemNum(itemData.id) == count && isFirst ? true : false;            string itemName = itemCfg.name;            if (itemData.num > 1)            {                itemName += "x" + itemData.num;            }            itemUI.m_comIcon.m_txtName.text = itemName;            RarityIconController.UpdateRarityIcon(itemUI.m_comIcon.m_rarity, itemData.id, false);            itemUI.target.data = itemData.id;            itemUI.m_comIcon.target.SetScale(0, 0);            itemUI.m_t0.Play();            // GTween.To(0, 1, 0.2f).SetTarget(itemUI).OnUpdate((GTweener t) => { itemUI.target.SetScale(t.value.x, t.value.x); });        }        private void InitAllItem()        {            _ui.m_itemOne.onClick.Add(OnClickItemUI);            for (int i = 0; i < 10; i++)            {                GObject itemObject = _ui.target.GetChild("item" + i);                if (itemObject != null)                {                    itemObject.onClick.Add(OnClickItemUI);                }            }        }        private void OnClickItemUI(EventContext context)        {            GComponent item = context.sender as GComponent;            int itemID = (int)item.data;            GoodsItemTipsController.ShowItemTips(itemID);        }    }}
 |