示例#1
0
        // 战队提示
        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);
            }
        }
示例#2
0
        // 符文提示
        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);
            }
        }
示例#3
0
        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;
                }
            }
        }
示例#4
0
        private void RemoveSideButtonAntiAddict()
        {
            SideButtonListRemoveData msg = new SideButtonListRemoveData();

            msg.nItemID = (int)ESideButtonItemType.ESBT_AntiAddict;
            LogicDataCenter.sideButtonDataManager.RemoveItem(msg);
        }
示例#5
0
        // 联盟提示
        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);
            }
        }
示例#6
0
        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();
            }
        }
示例#7
0
        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);
            }
        }
示例#8
0
        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);
            }
        }