// 战队提示 private void UpdateKinButton() { if (EntityFactory.MainHeroView == null) { return; } int playerLv = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); bool bHasKin = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_KIN) == 0 ? false : true; SSchemeSideButtonInfo config = SideButtonConfig.Instance.GetSideButtonConfig((int)ESideButtonItemType.ESBT_JoinKin); if (!bHasKin && playerLv >= config.nLowLv && playerLv <= config.nHighLv) { SideButtonListAddData addMsg = new SideButtonListAddData(); addMsg.nItemID = (int)ESideButtonItemType.ESBT_JoinKin; addMsg.nButtonIconID = config.nIconID; addMsg.strButtonText = config.strName; addMsg.strTooltip = config.strHint; addMsg.sCustomData = null; addMsg.callBack = (customData) => { UIButtonType ButtonType = new UIButtonType((int)SocialFrameButtonType.BTN_KIN); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SOCIALTOPSIDEBUTTON_OPEN, ButtonType); }; LogicDataCenter.sideButtonDataManager.AddItem(addMsg); } else { SideButtonListRemoveData removeMsg = new SideButtonListRemoveData(); removeMsg.nItemID = (int)ESideButtonItemType.ESBT_JoinKin; LogicDataCenter.sideButtonDataManager.RemoveItem(removeMsg); } }
// 符文提示 private void UpdateRuneButton() { if (EntityFactory.MainHeroView == null) { return; } int playerLv = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); bool bRuneShow = IsNeedShowRuneAddTip(); SSchemeSideButtonInfo config = SideButtonConfig.Instance.GetSideButtonConfig((int)ESideButtonItemType.ESBT_SetRune); if (bRuneShow && playerLv >= config.nLowLv && playerLv <= config.nHighLv) { SideButtonListAddData addMsg = new SideButtonListAddData(); addMsg.nItemID = (int)ESideButtonItemType.ESBT_SetRune; addMsg.nButtonIconID = config.nIconID; addMsg.strButtonText = config.strName; addMsg.strTooltip = config.strHint; addMsg.sCustomData = null; addMsg.callBack = (customData) => { UIButtonType ButtonType = new UIButtonType((int)PlayerSubWndType.WND_RUNE); ButtonType.bIsRequestSelf = true; ButtonType.nRequestPDBID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_PLAYERBUTTONFRAME_OPENFRAME, ButtonType); }; LogicDataCenter.sideButtonDataManager.AddItem(addMsg); } else { SideButtonListRemoveData removeMsg = new SideButtonListRemoveData(); removeMsg.nItemID = (int)ESideButtonItemType.ESBT_SetRune; LogicDataCenter.sideButtonDataManager.RemoveItem(removeMsg); } }
public void RemoveItem(SideButtonListRemoveData data) { InitData(); for (int i = 0; i < m_itemList.Count; ++i) { if (m_itemList[i].nItemID == data.nItemID) { List <SideButtonListAddData> curBakList; if (m_bakItemList.TryGetValue(data.nItemID, out curBakList)) { // 替换后备 m_itemList[i] = curBakList[0]; curBakList.RemoveAt(0); if (curBakList.Count == 0) { m_bakItemList.Remove(data.nItemID); } } else { m_itemList.RemoveAt(i); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SIDEBUTTONLIST_REFRESH, null); return; } } }
private void RemoveSideButtonAntiAddict() { SideButtonListRemoveData msg = new SideButtonListRemoveData(); msg.nItemID = (int)ESideButtonItemType.ESBT_AntiAddict; LogicDataCenter.sideButtonDataManager.RemoveItem(msg); }
// 联盟提示 public void UpdateClanButton() { if (EntityFactory.MainHeroView == null) { return; } int playerLv = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); bool bHasClan = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CLAN) == 0 ? false : true; cmd_kin_self_hero_member info = LogicDataCenter.kinDataManager.SelfMemberInfo; bool bIsShaikh = info.nIdentity == (int)TKinIdentity.emKinIdentity_Shaikh ? true : false; SSchemeSideButtonInfo config = SideButtonConfig.Instance.GetSideButtonConfig((int)ESideButtonItemType.ESBT_JoinClan); if (bIsShaikh && !bHasClan && playerLv >= config.nLowLv && playerLv <= config.nHighLv) { SideButtonListAddData addMsg = new SideButtonListAddData(); addMsg.nItemID = (int)ESideButtonItemType.ESBT_JoinClan; addMsg.nButtonIconID = config.nIconID; addMsg.strButtonText = config.strName; addMsg.strTooltip = config.strHint; addMsg.sCustomData = null; addMsg.callBack = (customData) => { UIButtonType ButtonType = new UIButtonType((int)SocialFrameButtonType.BTN_CLAN); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SOCIALTOPSIDEBUTTON_OPEN, ButtonType); }; LogicDataCenter.sideButtonDataManager.AddItem(addMsg); } else { SideButtonListRemoveData removeMsg = new SideButtonListRemoveData(); removeMsg.nItemID = (int)ESideButtonItemType.ESBT_JoinClan; LogicDataCenter.sideButtonDataManager.RemoveItem(removeMsg); } }
public void OnRecvDeletePunishInfo(int nDelPunishType) { // 显示玩家正在接受惩罚 m_SelfPunishInfo.Remove((byte)nDelPunishType); // 先移除 SideButtonListRemoveData removData = new SideButtonListRemoveData(); removData.nItemID = (int)ESideButtonItemType.ESBT_Punish; LogicDataCenter.sideButtonDataManager.RemoveItem(removData); if (m_SelfPunishInfo.Count > 0) { ShowSelfPunishSideButton(); } }
void SideButtonOnTimer() { if (m_SelfPunishInfo.Count <= 0) { return; } List <byte> updateList = new List <byte>(); List <byte> removeList = new List <byte>(); foreach (KeyValuePair <byte, int> kvp in m_SelfPunishInfo) { updateList.Add(kvp.Key); } for (int i = 0; i < updateList.Count; i++) { byte key = updateList[i]; m_SelfPunishInfo[key]--; if (m_SelfPunishInfo[key] <= 0) { // 记录起来 要删除 removeList.Add(key); } } for (int i = 0; i < removeList.Count; i++) { m_SelfPunishInfo.Remove(removeList[i]); } if (m_SelfPunishInfo.Count <= 0) { // 显示更新 SideButtonListRemoveData removData = new SideButtonListRemoveData(); removData.nItemID = (int)ESideButtonItemType.ESBT_Punish; LogicDataCenter.sideButtonDataManager.RemoveItem(removData); } }
public void checkAllHeroIsHaveCanUpStar(int nCurGold = 0) { if (EntityFactory.MainHeroView == null) { return; } int dwPDBID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID); ActorHeroInfo heroInfo = null; if (!actorHero.TryGetValue(dwPDBID, out heroInfo)) { return; } int nHaveGold = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_GOLD); nHaveGold = nCurGold > 0 ? nCurGold : nHaveGold; bool bCanUpstar = false; foreach (var item in heroInfo.dicEntityHeroInfo) { if (item.Value.bIsBuy <= 0) { continue; } SHeroStarSchemeInfo pStarScheme = new SHeroStarSchemeInfo(); if (!GameLogicAPI.getHeroStarConfig(item.Value.nHeroID, item.Value.byStarLv, ref pStarScheme)) { continue; } if (item.Value.byStarLv >= pStarScheme.nLimitLV) { continue; } bool bIsLifeHero = LogicDataCenter.lifeHeroDataManager.AllLifeHero.ContainsKey(item.Value.nHeroID); int nNeedCard = bIsLifeHero && pStarScheme.nCardDiscount > 0 ? pStarScheme.nCardDiscount : pStarScheme.nNeedCount; int nNeedGold = bIsLifeHero && pStarScheme.nGoldDiscount > 0 ? pStarScheme.nGoldDiscount : pStarScheme.nExpendGold; if (nNeedCard > item.Value.nCardCount || nNeedGold > nHaveGold) { continue; } bCanUpstar = true; break; } int playerLv = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_LEVEL); SSchemeSideButtonInfo config = SideButtonConfig.Instance.GetSideButtonConfig((int)ESideButtonItemType.ESBT_HeroStar); if (bCanUpstar && playerLv >= config.nLowLv && playerLv <= config.nHighLv) { // 满足升星条件,显示升星提示 SideButtonListAddData msg = new SideButtonListAddData(); msg.nItemID = (int)ESideButtonItemType.ESBT_HeroStar; msg.nButtonIconID = config.nIconID; msg.strButtonText = config.strName; msg.strTooltip = config.strHint; msg.callBack = (customData) => { UIButtonType ButtonType = new UIButtonType((int)PlayerSubWndType.WND_HERO); ButtonType.bIsRequestSelf = true; ButtonType.nRequestPDBID = dwPDBID; UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_PLAYERBUTTONFRAME_OPENFRAME, ButtonType); }; LogicDataCenter.sideButtonDataManager.AddItem(msg); } else { // 不满足升星条件, 隐藏升星提示 SideButtonListRemoveData msg = new SideButtonListRemoveData(); msg.nItemID = (int)ESideButtonItemType.ESBT_HeroStar; LogicDataCenter.sideButtonDataManager.RemoveItem(msg); } }