123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- 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;
- }
- 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);
- long curTime = ActivityDataManager.Instance.GetActivityTime(activityInfo.ActivityId);
- _ui.m_txtTime.text = "剩余:" + TimeUtil.FormattingTimeTo_DDHHmm(curTime);
- }
-
- 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);
- }
- }
- }
|