コード例 #1
0
        public void ExchangeLifeHero(int heroID1, int heroID2)
        {
            if (heroID1 <= 0 || heroID2 <= 0)
            {
                return;
            }

            if (!m_LifeHeroDic.ContainsKey(heroID1))
            {
                return;
            }

            if (!m_LifeHeroDic.ContainsKey(heroID2))
            {
                return;
            }


            cmd_entity_lifehero_info item1 = m_LifeHeroDic[heroID1];
            cmd_entity_lifehero_info item2 = m_LifeHeroDic[heroID2];
            int cultureID = item1.nCultureID;

            item1.nCultureID       = item2.nCultureID;
            item2.nCultureID       = cultureID;
            m_LifeHeroDic[heroID1] = item1;
            m_LifeHeroDic[heroID2] = item2;
            cmd_entity_lifehero_exchange param;

            param.heroID1 = heroID1;
            param.heroID2 = heroID2;
            EntityEventHelper.Instance.SendCommand <cmd_entity_lifehero_exchange>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_LIFEHERO_EXCHANGE, ref param);
        }
コード例 #2
0
        public void RequestReplaceLifeHero(int heroID, cmd_entity_lifehero_info lifeHero)
        {
            if (heroID <= 0 || lifeHero.nHeroID <= 0)
            {
                return;
            }

            if (!m_LifeHeroDic.ContainsKey(heroID))
            {
                return;
            }

            if (m_LifeHeroDic.ContainsKey(lifeHero.nHeroID))
            {
                return;
            }

            lifeHero.nCultureID = m_LifeHeroDic[heroID].nCultureID;
            m_LifeHeroDic.Add(lifeHero.nHeroID, lifeHero);
            m_LifeHeroDic.Remove(heroID);

            SetLifeHeroFlag();

            cmd_entity_lifehero_replace param;

            param.heroID = heroID;
            param.hero   = lifeHero;
            EntityEventHelper.Instance.SendCommand <cmd_entity_lifehero_replace>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_LIFEHERO_REPLACE, ref param);
        }
コード例 #3
0
        public void RequestAddLifeHero(cmd_entity_lifehero_info lifeHero)
        {
            if (lifeHero.nHeroID <= 0 || lifeHero.nCultureID < 0 || lifeHero.nCultureID >= (int)ELifeHeroType.LIFEHERO_MAX_COUNT)
            {
                return;
            }

            if (m_LifeHeroDic.ContainsKey(lifeHero.nHeroID))
            {
                return;
            }

            EntityEventHelper.Instance.SendCommand <cmd_entity_lifehero_info>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_LIFEHERO_ADD, ref lifeHero);
        }
コード例 #4
0
        public void OnRecvAllLifeHero(IntPtr ptr, int nLen)
        {
            m_LifeHeroDic.Clear();
            IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen);
            cmd_count cmd = helper.get <cmd_count>();

            for (int i = 0; i < cmd.nCount; ++i)
            {
                cmd_entity_lifehero_info item = helper.get <cmd_entity_lifehero_info>();
                m_LifeHeroDic.Add(item.nHeroID, item);
            }

            m_recvDataFlag |= ERecvDataFlag.RECV_LIFE_HERO;
            if ((m_recvDataFlag & ERecvDataFlag.RECV_HISTORY_RECORD) == ERecvDataFlag.RECV_HISTORY_RECORD)
            {
                SetLifeHeroFlag();
            }

            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECV_ALL_LIFEHERO_INFO, null);
        }
コード例 #5
0
        public void OnUpdateLifeHero(IntPtr ptr, int nLen)
        {
            IntPtrVaArgParseHelper   helper   = new IntPtrVaArgParseHelper(ptr, nLen);
            cmd_entity_lifehero_info lifeHero = helper.get <cmd_entity_lifehero_info>();

            if (!m_LifeHeroDic.ContainsKey(lifeHero.nHeroID))
            {
                m_LifeHeroDic.Add(lifeHero.nHeroID, lifeHero);

                SetLifeHeroFlag();
            }
            else
            {
                m_LifeHeroDic[lifeHero.nHeroID] = lifeHero;
            }

            ULifeHeroInjectHeroData msg = new ULifeHeroInjectHeroData();

            msg.msgID    = (int)WndMsgID.WND_MSG_LIFEHERO_INJECT;
            msg.lifeHero = lifeHero;
            UISystem.Instance.SendTargetWndMessage(WndID.WND_ID_LIFE_HERO_CULTURE, WndMsgID.WND_MSG_LIFEHERO_INJECT, msg);
        }