Esempio n. 1
0
        public static void Build_Burn_BattleParam(COMDT_SINGLE_GAME_PARAM param, bool bClickGameOver)
        {
            param.bGameType = 7;
            PlayerKDA hostKDA = Singleton <BattleStatistic> .GetInstance().m_playerKDAStat.GetHostKDA();

            if (hostKDA == null)
            {
                DebugHelper.Assert(hostKDA != null, "Failed find player kda");
                Singleton <BattleStatistic> .instance.m_playerKDAStat.DumpDebugInfo();
            }
            else
            {
                IEnumerator <HeroKDA> enumerator = hostKDA.GetEnumerator();
                if (!bClickGameOver)
                {
                    while (enumerator.MoveNext())
                    {
                        int configId = enumerator.Current.actorHero.handle.TheActorMeta.ConfigId;
                        Singleton <BurnExpeditionController> .GetInstance().model.SetHero_Hp((uint)configId, (int)Get_BloodTH(enumerator.Current.actorHero.handle));
                    }
                }
                param.stGameDetail.stBurning = new COMDT_BURNING_ENEMY_HERO_DETAIL();
                COMDT_BURNING_HERO_INFO[]         astHeroList = param.stGameDetail.stBurning.astHeroList;
                List <PoolObjHandle <ActorRoot> > heroActors  = Singleton <GameObjMgr> .GetInstance().HeroActors;

                int index = 0;
                for (int i = 0; i < heroActors.Count; i++)
                {
                    PoolObjHandle <ActorRoot> handle = heroActors[i];
                    ActorRoot actor = handle.handle;
                    if (!actor.IsHostCamp())
                    {
                        astHeroList[index].dwHeroID = (uint)actor.TheActorMeta.ConfigId;
                        bool flag  = actor.ValueComponent.actorHp == 0;
                        uint blood = 0;
                        byte num5  = 0;
                        if (flag)
                        {
                            blood = 0;
                            num5  = 1;
                        }
                        else
                        {
                            blood = Get_BloodTH(actor);
                            num5  = 0;
                        }
                        astHeroList[index].dwBloodTTH = blood;
                        astHeroList[index].bIsDead    = num5;
                        if (!bClickGameOver)
                        {
                            Record_EnemyHero_HPInfo(actor.TheActorMeta.ConfigId, blood);
                        }
                        index++;
                    }
                }
                param.stGameDetail.stBurning.bHeroNum = (byte)index;
            }
        }
        public static void Build_Burn_BattleParam(COMDT_SINGLE_GAME_PARAM param, bool bClickGameOver)
        {
            param.bGameType = 7;
            PlayerKDA hostKDA = Singleton <BattleStatistic> .GetInstance().m_playerKDAStat.GetHostKDA();

            if (hostKDA == null)
            {
                DebugHelper.Assert(hostKDA != null, "Failed find player kda");
                Singleton <BattleStatistic> .instance.m_playerKDAStat.DumpDebugInfo();

                return;
            }
            ListView <HeroKDA> .Enumerator enumerator = hostKDA.GetEnumerator();
            if (!bClickGameOver)
            {
                while (enumerator.MoveNext())
                {
                    int configId = enumerator.Current.actorHero.handle.TheActorMeta.ConfigId;
                    Singleton <BurnExpeditionController> .GetInstance().model.SetHero_Hp((uint)configId, (int)BurnExpeditionUT.Get_BloodTH(enumerator.Current.actorHero.handle));
                }
            }
            param.stGameDetail.stBurning = new COMDT_BURNING_ENEMY_HERO_DETAIL();
            COMDT_BURNING_HERO_INFO[]         astHeroList = param.stGameDetail.stBurning.astHeroList;
            List <PoolObjHandle <ActorRoot> > heroActors  = Singleton <GameObjMgr> .GetInstance().HeroActors;

            int num = 0;

            for (int i = 0; i < heroActors.get_Count(); i++)
            {
                ActorRoot handle = heroActors.get_Item(i).handle;
                if (!handle.IsHostCamp())
                {
                    astHeroList[num].dwHeroID = (uint)handle.TheActorMeta.ConfigId;
                    bool flag = handle.ValueComponent.actorHp == 0;
                    uint num2;
                    byte bIsDead;
                    if (flag)
                    {
                        num2    = 0u;
                        bIsDead = 1;
                    }
                    else
                    {
                        num2    = BurnExpeditionUT.Get_BloodTH(handle);
                        bIsDead = 0;
                    }
                    astHeroList[num].dwBloodTTH = num2;
                    astHeroList[num].bIsDead    = bIsDead;
                    if (!bClickGameOver)
                    {
                        BurnExpeditionUT.Record_EnemyHero_HPInfo(handle.TheActorMeta.ConfigId, num2);
                    }
                    num++;
                }
            }
            param.stGameDetail.stBurning.bHeroNum = (byte)num;
        }