using UI.CommonGame; using FairyGUI; using ET; using System.Collections.Generic; namespace GFGGame { public class ValueBarController { private UI_ComponentValueBar _valueBar; public ValueBarController(GComponent valueBar, int ctrlSelected = 0) { _valueBar = UI_ComponentValueBar.Create(valueBar); _valueBar.m_btnGold.target.onClick.Add(OnClickGold); _valueBar.m_btnPower.target.onClick.Add(OnClickPower); _valueBar.m_btnDiamondPurple.target.onClick.Add(OnClickDiamondPurple); _valueBar.m_btnDiamondRed.target.onClick.Add(OnClickDiamondRed); _valueBar.m_btnTravel.target.onClick.Add(OnClickTravel); _valueBar.m_btnGallery.target.onClick.Add(OnClickGallery); _valueBar.m_btnLeagueContribuation.target.onClick.Add(OnClickLeagueContribuation); _valueBar.m_btnCJ.target.onClick.Add(OnBtnClick); } private void OnClickGold() { ItemUtil.AddGold(null, 1); } private void OnClickPower() { ItemUtil.AddPower(null, 1); } private void OnClickDiamondPurple() { ItemUtil.AddDiamondPurple(); } private void OnClickDiamondRed() { ItemUtil.AddDiamondRed(); } private void OnClickTravel() { object[] sourceDatas = new object[] { GlobalCfgArray.globalCfg.travelCostArr[0], new object[] { typeof(TravelView).FullName, null } }; GoodsItemTipsController.ShowItemTips(GlobalCfgArray.globalCfg.travelCostArr[0], sourceDatas); } private void OnClickGallery() { ViewManager.Show(); } private void OnClickLeagueContribuation() { object[] sourceDatas = new object[] { ConstItemID.LEAGUE_CONTRIBUTION, null }; GoodsItemTipsController.ShowItemTips(ConstItemID.LEAGUE_CONTRIBUTION, sourceDatas); } private void OnClickLeagueContribuation(object[] gobackParam = null) { object[] sourceDatas = new object[] { ConstItemID.LEAGUE_CONTRIBUTION, gobackParam }; GoodsItemTipsController.ShowItemTips(ConstItemID.LEAGUE_CONTRIBUTION, sourceDatas); } private void OnClickLeagueCurrency(object[] gobackParam = null) { object[] sourceDatas = new object[] { ConstItemID.LEAGUE_CURRENCY, gobackParam }; GoodsItemTipsController.ShowItemTips(ConstItemID.LEAGUE_CURRENCY, sourceDatas); } // 活动摘星道具 private void OnClickLuckyBoxActivityProp(object[] gobackParam = null) { object[] sourceDatas = new object[] { ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST_2, gobackParam }; GoodsItemTipsController.ShowItemTips(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST_2, sourceDatas); } public void Dispose() { if (_valueBar != null) { _valueBar.Dispose(); } _valueBar = null; } public void OnShown() { UpdateNumeric(); UpdateItem(); EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateNumeric); EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, UpdateItem); } public void Controller(int ctrlSelected) { _valueBar.m_c1.selectedIndex = ctrlSelected; } public void OnHide() { EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateNumeric); EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateItem); } private void UpdateItem() { UpdateCurrency(); UpdateCJExchange(); UpdateCJAExchange(); UpdateCJ(); UpdateTravel(); UpdateGallery(); UpdateArena(); UpdateLeagueContribution(); _valueBar.m_list.numItems = _valueBar.m_list.numItems; } private void UpdateCurrency() { _valueBar.m_btnGold.target.text = "" + RoleDataManager.gold; _valueBar.m_btnDiamondPurple.target.text = "" + RoleDataManager.diaP; _valueBar.m_btnDiamondRed.target.text = "" + RoleDataManager.diaR; } private void UpdateNumeric() { _valueBar.m_btnPower.target.text = string.Format("{0}/{1}", RoleDataManager.power, RoleDataManager.powerLimit); } //ժ�ǣ��齱���һ� private void UpdateCJExchange() { _valueBar.m_btnCJLuoXing.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_STORE_COST); _valueBar.m_btnCJLuoXing.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_STORE_COST).res); } private void UpdateCJAExchange() { _valueBar.m_btnCJHuoDong.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST); _valueBar.m_btnCJHuoDong.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST).res); } public void UpdateCJ() { LuckyBoxCfg luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(LuckyBoxDataManager.Instance.currentBoxId); if (luckyBoxCfg == null) return; _valueBar.m_btnCJ.target.text = "" + ItemDataManager.GetItemNum(luckyBoxCfg.costID); ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(luckyBoxCfg.costID); if (itemCfg == null) return; _valueBar.m_btnCJ.target.icon = ResPathUtil.GetCommonGameResPath(itemCfg.res); _valueBar.m_btnCJ.target.data = luckyBoxCfg.costID; } private void UpdateTravel() { int itemId = GlobalCfgArray.globalCfg.travelCostArr[0]; _valueBar.m_btnTravel.target.text = "" + ItemDataManager.GetItemNum(itemId); _valueBar.m_btnTravel.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res); } private void UpdateGallery() { _valueBar.m_btnGallery.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.GALLERY_STORE_COST); _valueBar.m_btnGallery.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.GALLERY_STORE_COST).res); } private void UpdateArena() { _valueBar.m_btnArena.m_imgAdd.visible = false; _valueBar.m_btnArena.target.text = "" + ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]); _valueBar.m_btnArena.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.bonusSpecialWinArr[0][0]).res); } private void UpdateLeagueContribution() { _valueBar.m_btnLeagueContribuation.target.text = "" + ItemDataManager.GetItemNum(ConstItemID.LEAGUE_CONTRIBUTION); _valueBar.m_btnLeagueContribuation.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(ConstItemID.LEAGUE_CONTRIBUTION).res); } public void UpdateList(List itemIds) { itemIds.Sort((x, y) => -x.CompareTo(y)); if (_valueBar.m_list.data == null) { _valueBar.m_list.itemRenderer = RenderListItem; } _valueBar.m_list.data = itemIds; _valueBar.m_list.numItems = itemIds.Count; } public void UpdateRedPoint() { RedDotController.Instance.SetComRedDot(_valueBar.m_btnPower.target, RedDotDataManager.Instance.GetPowerRed()); RedDotController.Instance.SetComRedDot(_valueBar.m_btnGold.target, RedDotDataManager.Instance.GetGoldRed()); } private void RenderListItem(int index, GObject obj) { int itemId = (obj.parent.data as List)[index]; UpdateButton(obj, itemId); } private void UpdateButton(GObject obj, int itemId) { UI_ButtonInValueBar button = UI_ButtonInValueBar.Proxy(obj); // 体力特殊处理 if(itemId == ConstItemID.POWER) { button.target.text = string.Format("{0}/{1}", RoleDataManager.power, RoleDataManager.powerLimit); } else { button.target.text = "" + ItemDataManager.GetItemNum(itemId); } //button.target.icon = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(itemId).res); button.target.icon = ResPathUtil.GetIconPath(ItemCfgArray.Instance.GetCfg(itemId).res,"png"); switch (itemId) { case ConstItemID.GOLD: case ConstItemID.POWER: case ConstItemID.DIAMOND_PURPLE: case ConstItemID.DIAMOND_RED: case ConstItemID.TRAVEL: case ConstItemID.GALLERY_STORE_COST: case ConstItemID.LEAGUE_CONTRIBUTION: case ConstItemID.LEAGUE_CURRENCY: case ConstItemID.LUCKYBOX_COST_2: case ConstItemID.ARENA_CUR_COST: case ConstItemID.ARENA_PAST_COST: case ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST_2: case ConstItemID.OPEN_SERVER_COST_1: case ConstItemID.GET_TICKETS: case ConstItemID.YUANXIAO_GAME_CONSUME: case ConstItemID.YUANXIAO_REWARD: button.m_imgAdd.visible = true; break; default: button.m_imgAdd.visible = false; break; } if (button.target.data == null) { button.target.onClick.Add(OnBtnClick); } button.target.data = itemId; UI_ButtonInValueBar.ProxyEnd(); } private void OnBtnClick(EventContext context) { int itemId = (int)(context.sender as GObject).data; OnBtnClick(itemId); } private void OnBtnClick(int itemId) { object[] param = null; switch (itemId) { case ConstItemID.GOLD: OnClickGold(); break; case ConstItemID.POWER: OnClickPower(); break; case ConstItemID.DIAMOND_PURPLE: OnClickDiamondPurple(); break; case ConstItemID.DIAMOND_RED: OnClickDiamondRed(); break; case ConstItemID.TRAVEL: OnClickGold(); break; case ConstItemID.GALLERY_STORE_COST: OnClickGallery(); break; case ConstItemID.LEAGUE_CONTRIBUTION: if (ViewManager.isViewOpen(typeof(StoreView).FullName) && ViewManager.isViewOpen(typeof(StoreExchangeView).FullName)) { param = new object[] { typeof(StoreView).FullName, new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_LEAGUE } }; } OnClickLeagueContribuation(param); break; case ConstItemID.LEAGUE_CURRENCY: if (ViewManager.isViewOpen(typeof(StoreView).FullName) && ViewManager.isViewOpen(typeof(StoreExchangeView).FullName)) { param = new object[] { typeof(StoreView).FullName, new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_EXCHANGE_LEAGUE } }; } OnClickLeagueCurrency(param); break; case ConstItemID.LUCKYBOX_COST_0: case ConstItemID.LUCKYBOX_COST_1: case ConstItemID.LUCKYBOX_COST_2: case ConstItemID.OPEN_SERVER_COST_1: // ItemUtil.ExchangeItemById(itemId, 10, true, null, true, GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED, true); BuyItemConteoller.Show(itemId, 1, ConstBuyType.TYPE_ITEM, null, true, false, GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED); break; case ConstItemID.LUCKYBOX_ACTIVITY_STORE_COST_2: OnClickLuckyBoxActivityProp(); break; case ConstItemID.ARENA_CUR_COST: object[] sourceDatas = new object[] { ConstItemID.ARENA_CUR_COST, null }; GoodsItemTipsController.ShowItemTips(ConstItemID.ARENA_CUR_COST, sourceDatas); break; case ConstItemID.ARENA_PAST_COST: GoodsItemTipsController.ShowItemTips(ConstItemID.ARENA_PAST_COST, new object[] { ConstItemID.ARENA_PAST_COST, null }); break; default: GoodsItemTipsController.ShowItemTips(itemId, new object[] { itemId, null }); break; } } } }