Пример #1
0
        public static List <int> GetAvailableSubMeteorDesignIDs(
            App game,
            MeteorShowerGlobalData.MeteorSizes meteorSize)
        {
            List <int> intList = new List <int>();

            if (game.Game.ScriptModules.MeteorShower == null)
            {
                return(intList);
            }
            int[] meteorDesignIds = game.Game.ScriptModules.MeteorShower.MeteorDesignIds;
            int   num             = 0;

            switch (meteorSize)
            {
            case MeteorShowerGlobalData.MeteorSizes.Medium:
                num = meteorDesignIds.Length - 7;
                break;

            case MeteorShowerGlobalData.MeteorSizes.Large:
                num = meteorDesignIds.Length - 5;
                break;
            }
            for (int index = 0; index < meteorDesignIds.Length && index < num; ++index)
            {
                intList.Add(meteorDesignIds[index]);
            }
            return(intList);
        }
Пример #2
0
        public override void Initialize()
        {
            this.m_State = SimpleAIStates.SEEK;
            this.m_VictoryConditionsMet = false;
            this.m_FailureConditionMet  = false;
            this.m_Planets           = new List <StellarBody>();
            this.m_UpdateRate        = 0;
            this.m_Size              = MeteorCombatAIControl.GetMeteorSize(this.m_Game, this.m_Meteor.DesignID);
            this.m_CanSubDivide      = MeteorCombatAIControl.CanSubDivide(this.m_Size);
            this.m_CanApplyResources = true;
            this.m_Target            = (StellarBody)null;
            this.m_TargetFacing      = -Vector3.UnitZ;
            this.m_TargetPosition    = Vector3.Zero;
            MeteorShowerGlobalData meteorShowerData = this.m_Game.Game.AssetDatabase.GlobalMeteorShowerData;

            this.m_Meteor.Maneuvering.PostSetProp("SetCombatAIDamage", (object)meteorShowerData.Damage[(int)this.m_Size].Crew, (object)meteorShowerData.Damage[(int)this.m_Size].Population, (object)meteorShowerData.Damage[(int)this.m_Size].InfraDamage, (object)meteorShowerData.Damage[(int)this.m_Size].TeraDamage);
        }
Пример #3
0
 public static bool CanSubDivide(MeteorShowerGlobalData.MeteorSizes meteorSize)
 {
     return(meteorSize != MeteorShowerGlobalData.MeteorSizes.Small);
 }