| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 | using FairyGUI;using UI.ActivityAfternoonTea;using UI.CommonGame;using ET;using System.Collections.Generic;namespace GFGGame{    public class ActivitySyntheticView : BaseWindow    {        private UI_ActivitySyntheticUI _ui;        private ValueBarController _valueBarController;        private SuitCfg _suitCfg;        public override void Dispose()        {            if (_valueBarController != null)            {                _valueBarController.Dispose();                _valueBarController = null;            }            if (_ui != null)            {                _ui.Dispose();                _ui = null;            }            base.Dispose();        }        protected override void OnInit()        {            base.OnInit();            packageName = UI_ActivitySyntheticUI.PACKAGE_NAME;            _ui = UI_ActivitySyntheticUI.Create();            this.viewCom = _ui.target;            isfullScreen = true;            isReturnView = true;            _valueBarController = new ValueBarController(_ui.m_valueBar);            _ui.m_btnBack.onClick.Add(OnClickBtnBack);            _ui.m_listSynthetic.itemRenderer = RenderListSyntheticItem;            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gf_hdzy_bj");        }        protected override void OnShown()        {            base.OnShown();            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);            _suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);            ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[0]);            _valueBarController.OnShown();            _valueBarController.UpdateList(new List<int>() { itemSyntheticCfg.syntheticMateriarsArr[0][0], ConstItemID.GOLD });            _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length;            RefreshTimeText();            _ui.m_txtTips.SetVar("name", _suitCfg.name).FlushVars();            Timers.inst.Add(1, 0, UpdateTime);        }        protected override void OnHide()        {            base.OnHide();            _valueBarController.OnHide();            Timers.inst.Remove(UpdateTime);        }        protected override void AddEventListener()        {            base.AddEventListener();            EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);        }        protected override void RemoveEventListener()        {            base.RemoveEventListener();            EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);        }        private void OnItemChange(EventContext context)        {            var itemId = (int)context.data;            ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[0]);            if (itemId != itemSyntheticCfg.syntheticMateriarsArr[0][0] && itemId != itemSyntheticCfg.syntheticMateriarsArr[1][0]) return;            _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length;        }        private void OnClickBtnBack()        {            ViewManager.GoBackFrom(typeof(ActivitySyntheticView).FullName);        }        private void UpdateTime(object param)        {            RefreshTimeText();        }        private void RefreshTimeText()        {            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);            ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);            long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();            string strTime = TimeUtil.FormattingTimeTo_DDHHmm(time);            _ui.m_txtTime.text = "剩余:" + strTime;        }                private void RenderListSyntheticItem(int index, GObject obj)        {            UI_SyntheticItemUI comBox = UI_SyntheticItemUI.Proxy(obj);            UI_ComItem item1 = UI_ComItem.Proxy(comBox.m_item1);            ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[index]);            var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;            ItemCfg itemCfg1 = ItemCfgArray.Instance.GetCfg(materiarsArr[0][0]);            RarityIconController.UpdateRarityIcon(item1.m_loaRarity, itemCfg1.id, false);            string ext1 = ItemUtil.GetItemResExt(itemCfg1.itemType, itemCfg1.subType, true);            item1.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg1.res, ext1);            if(item1.target.data == null)                item1.target.onClick.Add(OnSelectorItemClick);            item1.target.data = materiarsArr[0][0];            item1.m_QualityType.selectedIndex = itemCfg1.rarity - 1;            item1.m_txtCount.text = materiarsArr[0][1].ToString();            UI_ComItem.ProxyEnd();            UI_ComItem item2 = UI_ComItem.Proxy(comBox.m_item2);            ItemCfg itemCfg2 = ItemCfgArray.Instance.GetCfg(materiarsArr[1][0]);            RarityIconController.UpdateRarityIcon(item2.m_loaRarity, itemCfg2.id, false);            string ext2 = ItemUtil.GetItemResExt(itemCfg2.itemType, itemCfg2.subType, true);            item2.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg2.res, ext2);            if (item2.target.data == null)                item2.target.onClick.Add(OnSelectorItemClick);            item2.target.data = materiarsArr[1][0];            item2.m_QualityType.selectedIndex = itemCfg2.rarity - 1;            item2.m_txtCount.text = materiarsArr[1][1].ToString();            UI_ComItem.ProxyEnd();            UI_ComItem item3 = UI_ComItem.Proxy(comBox.m_item3);            ItemCfg itemCfg3 = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[index]);            RarityIconController.UpdateRarityIcon(item3.m_loaRarity, itemCfg3.id, false);            string ext3 = ItemUtil.GetItemResExt(itemCfg3.itemType, itemCfg3.subType, true);            item3.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg3.res, ext3);            if (item3.target.data == null)                item3.target.onClick.Add(OnSelectorItemClick);            item3.target.data = _suitCfg.partsArr[index];            item3.m_QualityType.selectedIndex = itemCfg3.rarity - 1;            item3.m_txtCount.text = "1";            UI_ComItem.ProxyEnd();            if (ItemDataManager.GetItemNum(_suitCfg.partsArr[index]) > 0)            {                comBox.m_btnType.selectedIndex = 2;            }            else if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1])            {                comBox.m_btnType.selectedIndex = 1;                if(comBox.m_btnMake.data == null)                    comBox.m_btnMake.onClick.Add(OnClickBtnMake);                comBox.m_btnMake.data = _suitCfg.partsArr[index];            }            else {                 comBox.m_btnType.selectedIndex = 0;                if (comBox.m_btnGet.data == null)                    comBox.m_btnGet.onClick.Add(OnClickBtnGet);                comBox.m_btnGet.data = index;            }            RedDotController.Instance.SetComRedDot(comBox.m_btnMake, comBox.m_btnType.selectedIndex == 1);            UI_SyntheticItemUI.ProxyEnd();        }        private async void OnClickBtnMake(EventContext context)        {            if (!(context.sender is GObject obj)) return;            int itemID = (int)obj.data;            var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);            bool result = await ActivityTeaSProxy.ReqItemSynthetic(activityInfo.ActivityId, itemID);            if (result)            {                _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length;            }        }        private void OnClickBtnGet(EventContext context)        {            if (!(context.sender is GObject obj)) return;            int index = (int)obj.data;            ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[index]);            var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;            if (ItemDataManager.GetItemNum(materiarsArr[0][0]) < materiarsArr[0][1])                MainControllerr.GotoStoryChapter();            else                ItemUtil.BuyCurrency(materiarsArr[1][0], materiarsArr[1][1] - ItemDataManager.GetItemNum(materiarsArr[1][0]));        }        private void OnSelectorItemClick(EventContext context)        {            if (!(context.sender is GObject obj)) return;            int itemID = (int)obj.data;            GoodsItemTipsController.ShowItemTips(itemID);        }    }}
 |