using System.Collections; using System.Collections.Generic; using UnityEngine; using UI.DressUp; using FairyGUI; using UI.ActivityAfternoonTea; using UI.CommonGame; using ET; 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; } protected override void OnShown() { base.OnShown(); _valueBarController.OnShown(); _valueBarController.Controller(6); ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(5005); _suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]); _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length; RefreshTimeText(); _ui.m_txtTips.SetVar("name", _suitCfg.name).FlushVars(); } private void OnClickBtnBack() { ViewManager.GoBackFrom(typeof(ActivitySyntheticView).FullName); } private void RefreshTimeText() { ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(5005); 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; } UI_SyntheticItemUI.ProxyEnd(); } private async void OnClickBtnMake(EventContext context) { if (!(context.sender is GObject obj)) return; int itemID = (int)obj.data; bool result = await ActivityTeaSProxy.ReqItemSynthetic( 5005 , itemID); if (result) { _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length; } } private void OnClickBtnGet() { ViewManager.Show(); } private void OnSelectorItemClick(EventContext context) { if (!(context.sender is GObject obj)) return; int itemID = (int)obj.data; GoodsItemTipsController.ShowItemTips(itemID); } } }