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); }
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); }
public static bool CanSubDivide(MeteorShowerGlobalData.MeteorSizes meteorSize) { return(meteorSize != MeteorShowerGlobalData.MeteorSizes.Small); }