private static double GetMaxActivationTime(MyEnvironmentHostilityEnum enviroment) { double defaultMaxMinutes = 0.0f; switch (enviroment) { case MyEnvironmentHostilityEnum.NORMAL: defaultMaxMinutes = MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MAX_TIME; break; case MyEnvironmentHostilityEnum.CATACLYSM: defaultMaxMinutes = MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MAX_TIME; break; case MyEnvironmentHostilityEnum.CATACLYSM_UNREAL: defaultMaxMinutes = MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MAX_TIME; break; default: Debug.Assert(false, "Invalid branch"); break; } MyGlobalEventDefinition definition = MyDefinitionManager.Static.GetEventDefinition(new MyDefinitionId(typeof(MyObjectBuilder_GlobalEventBase), m_enviromentHostilityName[(int)enviroment])); if (definition != null && definition.MaxActivationTime.HasValue) { defaultMaxMinutes = definition.MaxActivationTime.Value.TotalMinutes; } return(defaultMaxMinutes); }
public static TimeSpan CalculateShowerTime(MyEnvironmentHostilityEnum hostility) { double timeInMinutes = 5; switch (hostility) { case MyEnvironmentHostilityEnum.SAFE: Debug.Assert(false, "Meteor shower shouldnt be enabled in safe enviroment"); break; case MyEnvironmentHostilityEnum.NORMAL: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MAX_TIME) / MathHelper.Max(1, m_lastTargetCount); timeInMinutes = MathHelper.Max(0.4, timeInMinutes); break; case MyEnvironmentHostilityEnum.CATACLYSM: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MAX_TIME) / MathHelper.Max(1, m_lastTargetCount); timeInMinutes = MathHelper.Max(0.4, timeInMinutes); break; case MyEnvironmentHostilityEnum.CATACLYSM_UNREAL: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MAX_TIME); break; default: Debug.Assert(false, "Invalid branch"); break; } return(TimeSpan.FromMinutes(timeInMinutes)); }
public static TimeSpan CalculateShowerTime(MyEnvironmentHostilityEnum newHostility, MyEnvironmentHostilityEnum oldHostility, TimeSpan oldTime) { double timeInMinutes = oldTime.TotalMinutes; double normalizedTime = timeInMinutes / GetMaxActivationTime(oldHostility); timeInMinutes = normalizedTime * GetMaxActivationTime(newHostility); return(TimeSpan.FromMinutes(timeInMinutes)); }
public static double GetActivationTime(MyEnvironmentHostilityEnum hostility, double defaultMinMinutes, double defaultMaxMinutes) { MyGlobalEventDefinition definition = MyDefinitionManager.Static.GetEventDefinition(new MyDefinitionId(typeof(MyObjectBuilder_GlobalEventBase), m_enviromentHostilityName[(int)hostility])); if (definition != null) { if (definition.MinActivationTime.HasValue) { defaultMinMinutes = definition.MinActivationTime.Value.TotalMinutes; } if (definition.MaxActivationTime.HasValue) { defaultMaxMinutes = definition.MaxActivationTime.Value.TotalMinutes; } } return(MyUtils.GetRandomDouble(defaultMinMinutes, defaultMaxMinutes)); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_ScenarioDefinition; AsteroidClustersEnabled = ob.AsteroidClusters.Enabled; AsteroidClustersOffset = ob.AsteroidClusters.Offset; CentralClusterEnabled = ob.AsteroidClusters.CentralCluster; DefaultEnvironment = ob.DefaultEnvironment; CreativeDefaultToolbar = ob.CreativeDefaultToolbar; SurvivalDefaultToolbar = ob.SurvivalDefaultToolbar; MainCharacterModel = MyStringId.GetOrCompute(ob.MainCharacterModel); GameDate = new DateTime(ob.GameDate); SunDirection = ob.SunDirection; if (ob.PossibleStartingStates != null && ob.PossibleStartingStates.Length > 0) { PossiblePlayerStarts = new MyWorldGeneratorStartingStateBase[ob.PossibleStartingStates.Length]; for (int i = 0; i < ob.PossibleStartingStates.Length; ++i) { PossiblePlayerStarts[i] = MyWorldGenerator.StartingStateFactory.CreateInstance(ob.PossibleStartingStates[i]); } } if (ob.WorldGeneratorOperations != null && ob.WorldGeneratorOperations.Length > 0) { WorldGeneratorOperations = new MyWorldGeneratorOperationBase[ob.WorldGeneratorOperations.Length]; for (int i = 0; i < ob.WorldGeneratorOperations.Length; ++i) { WorldGeneratorOperations[i] = MyWorldGenerator.OperationFactory.CreateInstance(ob.WorldGeneratorOperations[i]); } } if (ob.CreativeModeWeapons != null && ob.CreativeModeWeapons.Length > 0) { CreativeModeWeapons = new MyStringId[ob.CreativeModeWeapons.Length]; for (int i = 0; i < ob.CreativeModeWeapons.Length; ++i) { CreativeModeWeapons[i] = MyStringId.GetOrCompute(ob.CreativeModeWeapons[i]); } } if (ob.SurvivalModeWeapons != null && ob.SurvivalModeWeapons.Length > 0) { SurvivalModeWeapons = new MyStringId[ob.SurvivalModeWeapons.Length]; for (int i = 0; i < ob.SurvivalModeWeapons.Length; ++i) { SurvivalModeWeapons[i] = MyStringId.GetOrCompute(ob.SurvivalModeWeapons[i]); } } if (ob.CreativeModeComponents != null && ob.CreativeModeComponents.Length > 0) { CreativeModeComponents = new StartingItem[ob.CreativeModeComponents.Length]; for (int i = 0; i < ob.CreativeModeComponents.Length; ++i) { CreativeModeComponents[i].amount = (MyFixedPoint)ob.CreativeModeComponents[i].amount; CreativeModeComponents[i].itemName = MyStringId.GetOrCompute(ob.CreativeModeComponents[i].itemName); } } if (ob.SurvivalModeComponents != null && ob.SurvivalModeComponents.Length > 0) { SurvivalModeComponents = new StartingItem[ob.SurvivalModeComponents.Length]; for (int i = 0; i < ob.SurvivalModeComponents.Length; ++i) { SurvivalModeComponents[i].amount = (MyFixedPoint)ob.SurvivalModeComponents[i].amount; SurvivalModeComponents[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModeComponents[i].itemName); } } if (ob.CreativeModePhysicalItems != null && ob.CreativeModePhysicalItems.Length > 0) { CreativeModePhysicalItems = new StartingPhysicalItem[ob.CreativeModePhysicalItems.Length]; for (int i = 0; i < ob.CreativeModePhysicalItems.Length; ++i) { CreativeModePhysicalItems[i].amount = (MyFixedPoint)ob.CreativeModePhysicalItems[i].amount; CreativeModePhysicalItems[i].itemName = MyStringId.GetOrCompute(ob.CreativeModePhysicalItems[i].itemName); CreativeModePhysicalItems[i].itemType = MyStringId.GetOrCompute(ob.CreativeModePhysicalItems[i].itemType); } } if (ob.SurvivalModePhysicalItems != null && ob.SurvivalModePhysicalItems.Length > 0) { SurvivalModePhysicalItems = new StartingPhysicalItem[ob.SurvivalModePhysicalItems.Length]; for (int i = 0; i < ob.SurvivalModePhysicalItems.Length; ++i) { SurvivalModePhysicalItems[i].amount = (MyFixedPoint)ob.SurvivalModePhysicalItems[i].amount; SurvivalModePhysicalItems[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModePhysicalItems[i].itemName); SurvivalModePhysicalItems[i].itemType = MyStringId.GetOrCompute(ob.SurvivalModePhysicalItems[i].itemType); } } if (ob.CreativeModeAmmoItems != null && ob.CreativeModeAmmoItems.Length > 0) { CreativeModeAmmoItems = new StartingItem[ob.CreativeModeAmmoItems.Length]; for (int i = 0; i < ob.CreativeModeAmmoItems.Length; ++i) { CreativeModeAmmoItems[i].amount = (MyFixedPoint)ob.CreativeModeAmmoItems[i].amount; CreativeModeAmmoItems[i].itemName = MyStringId.GetOrCompute(ob.CreativeModeAmmoItems[i].itemName); } } if (ob.SurvivalModeAmmoItems != null && ob.SurvivalModeAmmoItems.Length > 0) { SurvivalModeAmmoItems = new StartingItem[ob.SurvivalModeAmmoItems.Length]; for (int i = 0; i < ob.SurvivalModeAmmoItems.Length; ++i) { SurvivalModeAmmoItems[i].amount = (MyFixedPoint)ob.SurvivalModeAmmoItems[i].amount; SurvivalModeAmmoItems[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModeAmmoItems[i].itemName); } } WorldBoundaries.Min = ob.WorldBoundaries.Min; WorldBoundaries.Max = ob.WorldBoundaries.Max; }
public static TimeSpan CalculateShowerTime(MyEnvironmentHostilityEnum hostility) { double timeInMinutes = 5; switch (hostility) { case MyEnvironmentHostilityEnum.SAFE: Debug.Assert(false, "Meteor shower shouldnt be enabled in safe enviroment"); break; case MyEnvironmentHostilityEnum.NORMAL: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MAX_TIME) / MathHelper.Max(1, m_lastTargetCount); timeInMinutes = MathHelper.Max(0.4, timeInMinutes); break; case MyEnvironmentHostilityEnum.CATACLYSM: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MAX_TIME) / MathHelper.Max(1, m_lastTargetCount); timeInMinutes = MathHelper.Max(0.4, timeInMinutes); break; case MyEnvironmentHostilityEnum.CATACLYSM_UNREAL: timeInMinutes = GetActivationTime(hostility, MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MIN_TIME, MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MAX_TIME); break; default: Debug.Assert(false, "Invalid branch"); break; } return TimeSpan.FromMinutes(timeInMinutes); }
private static double GetMaxActivationTime(MyEnvironmentHostilityEnum enviroment) { double defaultMaxMinutes = 0.0f; switch (enviroment) { case MyEnvironmentHostilityEnum.NORMAL: defaultMaxMinutes = MyMeteorShowerEventConstants.NORMAL_HOSTILITY_MAX_TIME; break; case MyEnvironmentHostilityEnum.CATACLYSM: defaultMaxMinutes = MyMeteorShowerEventConstants.CATACLYSM_HOSTILITY_MAX_TIME; break; case MyEnvironmentHostilityEnum.CATACLYSM_UNREAL: defaultMaxMinutes = MyMeteorShowerEventConstants.CATACLYSM_UNREAL_HOSTILITY_MAX_TIME; break; default: Debug.Assert(false, "Invalid branch"); break; } MyGlobalEventDefinition definition = MyDefinitionManager.Static.GetEventDefinition(new MyDefinitionId(typeof(MyObjectBuilder_GlobalEventBase), m_enviromentHostilityName[(int)enviroment])); if (definition != null && definition.MaxActivationTime.HasValue) { defaultMaxMinutes = definition.MaxActivationTime.Value.TotalMinutes; } return defaultMaxMinutes; }
public static double GetActivationTime(MyEnvironmentHostilityEnum hostility, double defaultMinMinutes, double defaultMaxMinutes) { MyGlobalEventDefinition definition = MyDefinitionManager.Static.GetEventDefinition(new MyDefinitionId(typeof(MyObjectBuilder_GlobalEventBase), m_enviromentHostilityName[(int)hostility])); if (definition != null) { if (definition.MinActivationTime.HasValue) { defaultMinMinutes = definition.MinActivationTime.Value.TotalMinutes; } if (definition.MaxActivationTime.HasValue) { defaultMaxMinutes = definition.MaxActivationTime.Value.TotalMinutes; } } return MyUtils.GetRandomDouble(defaultMinMinutes, defaultMaxMinutes); }
public static TimeSpan CalculateShowerTime(MyEnvironmentHostilityEnum newHostility, MyEnvironmentHostilityEnum oldHostility, TimeSpan oldTime) { double timeInMinutes = oldTime.TotalMinutes; double normalizedTime = 1.0; if (oldHostility != MyEnvironmentHostilityEnum.SAFE) { normalizedTime = timeInMinutes / GetMaxActivationTime(oldHostility); } timeInMinutes = normalizedTime * GetMaxActivationTime(newHostility); return TimeSpan.FromMinutes(timeInMinutes); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = (MyObjectBuilder_ScenarioDefinition) builder; GameDefinition = ob.GameDefinition; AsteroidClustersEnabled = ob.AsteroidClusters.Enabled; AsteroidClustersOffset = ob.AsteroidClusters.Offset; CentralClusterEnabled = ob.AsteroidClusters.CentralCluster; DefaultEnvironment = ob.DefaultEnvironment; CreativeDefaultToolbar = ob.CreativeDefaultToolbar; SurvivalDefaultToolbar = ob.SurvivalDefaultToolbar; MainCharacterModel = MyStringId.GetOrCompute(ob.MainCharacterModel); GameDate = new DateTime(ob.GameDate); SunDirection = ob.SunDirection; if (ob.PossibleStartingStates != null && ob.PossibleStartingStates.Length > 0) { PossiblePlayerStarts = new MyWorldGeneratorStartingStateBase[ob.PossibleStartingStates.Length]; for (int i = 0; i < ob.PossibleStartingStates.Length; ++i) { PossiblePlayerStarts[i] = MyWorldGenerator.StartingStateFactory.CreateInstance(ob.PossibleStartingStates[i]); } } if (ob.WorldGeneratorOperations != null && ob.WorldGeneratorOperations.Length > 0) { WorldGeneratorOperations = new MyWorldGeneratorOperationBase[ob.WorldGeneratorOperations.Length]; for (int i = 0; i < ob.WorldGeneratorOperations.Length; ++i) { WorldGeneratorOperations[i] = MyWorldGenerator.OperationFactory.CreateInstance(ob.WorldGeneratorOperations[i]); } } if (ob.CreativeModeWeapons != null && ob.CreativeModeWeapons.Length > 0) { CreativeModeWeapons = new MyStringId[ob.CreativeModeWeapons.Length]; for (int i = 0; i < ob.CreativeModeWeapons.Length; ++i) { CreativeModeWeapons[i] = MyStringId.GetOrCompute(ob.CreativeModeWeapons[i]); } } if (ob.SurvivalModeWeapons != null && ob.SurvivalModeWeapons.Length > 0) { SurvivalModeWeapons = new MyStringId[ob.SurvivalModeWeapons.Length]; for (int i = 0; i < ob.SurvivalModeWeapons.Length; ++i) { SurvivalModeWeapons[i] = MyStringId.GetOrCompute(ob.SurvivalModeWeapons[i]); } } if (ob.CreativeModeComponents != null && ob.CreativeModeComponents.Length > 0) { CreativeModeComponents = new StartingItem[ob.CreativeModeComponents.Length]; for (int i = 0; i < ob.CreativeModeComponents.Length; ++i) { CreativeModeComponents[i].amount = (MyFixedPoint)ob.CreativeModeComponents[i].amount; CreativeModeComponents[i].itemName = MyStringId.GetOrCompute(ob.CreativeModeComponents[i].itemName); } } if (ob.SurvivalModeComponents != null && ob.SurvivalModeComponents.Length > 0) { SurvivalModeComponents = new StartingItem[ob.SurvivalModeComponents.Length]; for (int i = 0; i < ob.SurvivalModeComponents.Length; ++i) { SurvivalModeComponents[i].amount = (MyFixedPoint)ob.SurvivalModeComponents[i].amount; SurvivalModeComponents[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModeComponents[i].itemName); } } if (ob.CreativeModePhysicalItems != null && ob.CreativeModePhysicalItems.Length > 0) { CreativeModePhysicalItems = new StartingPhysicalItem[ob.CreativeModePhysicalItems.Length]; for (int i = 0; i < ob.CreativeModePhysicalItems.Length; ++i) { CreativeModePhysicalItems[i].amount = (MyFixedPoint)ob.CreativeModePhysicalItems[i].amount; CreativeModePhysicalItems[i].itemName = MyStringId.GetOrCompute(ob.CreativeModePhysicalItems[i].itemName); CreativeModePhysicalItems[i].itemType = MyStringId.GetOrCompute(ob.CreativeModePhysicalItems[i].itemType); } } if (ob.SurvivalModePhysicalItems != null && ob.SurvivalModePhysicalItems.Length > 0) { SurvivalModePhysicalItems = new StartingPhysicalItem[ob.SurvivalModePhysicalItems.Length]; for (int i = 0; i < ob.SurvivalModePhysicalItems.Length; ++i) { SurvivalModePhysicalItems[i].amount = (MyFixedPoint)ob.SurvivalModePhysicalItems[i].amount; SurvivalModePhysicalItems[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModePhysicalItems[i].itemName); SurvivalModePhysicalItems[i].itemType = MyStringId.GetOrCompute(ob.SurvivalModePhysicalItems[i].itemType); } } if (ob.CreativeModeAmmoItems != null && ob.CreativeModeAmmoItems.Length > 0) { CreativeModeAmmoItems = new StartingItem[ob.CreativeModeAmmoItems.Length]; for (int i = 0; i < ob.CreativeModeAmmoItems.Length; ++i) { CreativeModeAmmoItems[i].amount = (MyFixedPoint)ob.CreativeModeAmmoItems[i].amount; CreativeModeAmmoItems[i].itemName = MyStringId.GetOrCompute(ob.CreativeModeAmmoItems[i].itemName); } } if (ob.SurvivalModeAmmoItems != null && ob.SurvivalModeAmmoItems.Length > 0) { SurvivalModeAmmoItems = new StartingItem[ob.SurvivalModeAmmoItems.Length]; for (int i = 0; i < ob.SurvivalModeAmmoItems.Length; ++i) { SurvivalModeAmmoItems[i].amount = (MyFixedPoint)ob.SurvivalModeAmmoItems[i].amount; SurvivalModeAmmoItems[i].itemName = MyStringId.GetOrCompute(ob.SurvivalModeAmmoItems[i].itemName); } } CreativeInventoryItems = ob.CreativeInventoryItems; SurvivalInventoryItems = ob.SurvivalInventoryItems; WorldBoundaries.Min = ob.WorldBoundaries.Min; WorldBoundaries.Max = ob.WorldBoundaries.Max; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { BoundingBoxD?nullable1; base.Init(builder); MyObjectBuilder_ScenarioDefinition definition = (MyObjectBuilder_ScenarioDefinition)builder; this.GameDefinition = definition.GameDefinition; this.Environment = definition.EnvironmentDefinition; this.AsteroidClustersEnabled = definition.AsteroidClusters.Enabled; this.AsteroidClustersOffset = definition.AsteroidClusters.Offset; this.CentralClusterEnabled = definition.AsteroidClusters.CentralCluster; this.DefaultEnvironment = definition.DefaultEnvironment; this.CreativeDefaultToolbar = definition.CreativeDefaultToolbar; this.SurvivalDefaultToolbar = definition.SurvivalDefaultToolbar; this.MainCharacterModel = MyStringId.GetOrCompute(definition.MainCharacterModel); this.GameDate = new DateTime(definition.GameDate); this.SunDirection = (Vector3)definition.SunDirection; if ((definition.PossibleStartingStates != null) && (definition.PossibleStartingStates.Length != 0)) { this.PossiblePlayerStarts = new MyWorldGeneratorStartingStateBase[definition.PossibleStartingStates.Length]; for (int i = 0; i < definition.PossibleStartingStates.Length; i++) { this.PossiblePlayerStarts[i] = MyWorldGenerator.StartingStateFactory.CreateInstance(definition.PossibleStartingStates[i]); } } if ((definition.WorldGeneratorOperations != null) && (definition.WorldGeneratorOperations.Length != 0)) { this.WorldGeneratorOperations = new MyWorldGeneratorOperationBase[definition.WorldGeneratorOperations.Length]; for (int i = 0; i < definition.WorldGeneratorOperations.Length; i++) { this.WorldGeneratorOperations[i] = MyWorldGenerator.OperationFactory.CreateInstance(definition.WorldGeneratorOperations[i]); } } if ((definition.CreativeModeWeapons != null) && (definition.CreativeModeWeapons.Length != 0)) { this.CreativeModeWeapons = new MyStringId[definition.CreativeModeWeapons.Length]; for (int i = 0; i < definition.CreativeModeWeapons.Length; i++) { this.CreativeModeWeapons[i] = MyStringId.GetOrCompute(definition.CreativeModeWeapons[i]); } } if ((definition.SurvivalModeWeapons != null) && (definition.SurvivalModeWeapons.Length != 0)) { this.SurvivalModeWeapons = new MyStringId[definition.SurvivalModeWeapons.Length]; for (int i = 0; i < definition.SurvivalModeWeapons.Length; i++) { this.SurvivalModeWeapons[i] = MyStringId.GetOrCompute(definition.SurvivalModeWeapons[i]); } } if ((definition.CreativeModeComponents != null) && (definition.CreativeModeComponents.Length != 0)) { this.CreativeModeComponents = new StartingItem[definition.CreativeModeComponents.Length]; for (int i = 0; i < definition.CreativeModeComponents.Length; i++) { this.CreativeModeComponents[i].amount = (MyFixedPoint)definition.CreativeModeComponents[i].amount; this.CreativeModeComponents[i].itemName = MyStringId.GetOrCompute(definition.CreativeModeComponents[i].itemName); } } if ((definition.SurvivalModeComponents != null) && (definition.SurvivalModeComponents.Length != 0)) { this.SurvivalModeComponents = new StartingItem[definition.SurvivalModeComponents.Length]; for (int i = 0; i < definition.SurvivalModeComponents.Length; i++) { this.SurvivalModeComponents[i].amount = (MyFixedPoint)definition.SurvivalModeComponents[i].amount; this.SurvivalModeComponents[i].itemName = MyStringId.GetOrCompute(definition.SurvivalModeComponents[i].itemName); } } if ((definition.CreativeModePhysicalItems != null) && (definition.CreativeModePhysicalItems.Length != 0)) { this.CreativeModePhysicalItems = new StartingPhysicalItem[definition.CreativeModePhysicalItems.Length]; for (int i = 0; i < definition.CreativeModePhysicalItems.Length; i++) { this.CreativeModePhysicalItems[i].amount = (MyFixedPoint)definition.CreativeModePhysicalItems[i].amount; this.CreativeModePhysicalItems[i].itemName = MyStringId.GetOrCompute(definition.CreativeModePhysicalItems[i].itemName); this.CreativeModePhysicalItems[i].itemType = MyStringId.GetOrCompute(definition.CreativeModePhysicalItems[i].itemType); } } if ((definition.SurvivalModePhysicalItems != null) && (definition.SurvivalModePhysicalItems.Length != 0)) { this.SurvivalModePhysicalItems = new StartingPhysicalItem[definition.SurvivalModePhysicalItems.Length]; for (int i = 0; i < definition.SurvivalModePhysicalItems.Length; i++) { this.SurvivalModePhysicalItems[i].amount = (MyFixedPoint)definition.SurvivalModePhysicalItems[i].amount; this.SurvivalModePhysicalItems[i].itemName = MyStringId.GetOrCompute(definition.SurvivalModePhysicalItems[i].itemName); this.SurvivalModePhysicalItems[i].itemType = MyStringId.GetOrCompute(definition.SurvivalModePhysicalItems[i].itemType); } } if ((definition.CreativeModeAmmoItems != null) && (definition.CreativeModeAmmoItems.Length != 0)) { this.CreativeModeAmmoItems = new StartingItem[definition.CreativeModeAmmoItems.Length]; for (int i = 0; i < definition.CreativeModeAmmoItems.Length; i++) { this.CreativeModeAmmoItems[i].amount = (MyFixedPoint)definition.CreativeModeAmmoItems[i].amount; this.CreativeModeAmmoItems[i].itemName = MyStringId.GetOrCompute(definition.CreativeModeAmmoItems[i].itemName); } } if ((definition.SurvivalModeAmmoItems != null) && (definition.SurvivalModeAmmoItems.Length != 0)) { this.SurvivalModeAmmoItems = new StartingItem[definition.SurvivalModeAmmoItems.Length]; for (int i = 0; i < definition.SurvivalModeAmmoItems.Length; i++) { this.SurvivalModeAmmoItems[i].amount = (MyFixedPoint)definition.SurvivalModeAmmoItems[i].amount; this.SurvivalModeAmmoItems[i].itemName = MyStringId.GetOrCompute(definition.SurvivalModeAmmoItems[i].itemName); } } this.CreativeInventoryItems = definition.CreativeInventoryItems; this.SurvivalInventoryItems = definition.SurvivalInventoryItems; SerializableBoundingBoxD?worldBoundaries = definition.WorldBoundaries; if (worldBoundaries != null) { nullable1 = new BoundingBoxD?(worldBoundaries.GetValueOrDefault()); } else { nullable1 = null; } this.WorldBoundaries = nullable1; }