protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_PhysicsBodyComponentDefinition; CreateFromCollisionObject = ob.CreateFromCollisionObject; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var buttonListStyleOb = builder as MyObjectBuilder_ButtonListStyleDefinition; Debug.Assert(buttonListStyleOb != null,"Wrong object builder."); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_TimerComponentDefinition; TimeToRemoveMin = ob.TimeToRemoveMin; }
protected override void Init(MyObjectBuilder_DefinitionBase ob) { base.Init(ob); var def = ob as MyObjectBuilder_RepairBlueprintDefinition; RepairAmount = def.RepairAmount; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_InventoryComponentDefinition; Volume = ob.Volume; if (ob.Size != null) { Vector3 size = ob.Size.Value; Volume = size.Volume; } Mass = ob.Mass; RemoveEntityOnEmpty = ob.RemoveEntityOnEmpty; MultiplierEnabled = ob.MultiplierEnabled; MaxItemCount = ob.MaxItemCount; if (ob.InputConstraint != null) { InputConstraint = new MyInventoryConstraint("Input", whitelist: ob.InputConstraint.IsWhitelist); foreach (var constraint in ob.InputConstraint.Entries) { if (string.IsNullOrEmpty(constraint.SubtypeName)) InputConstraint.AddObjectBuilderType(constraint.TypeId); else InputConstraint.Add(constraint); } } }
protected virtual void Init(MyObjectBuilder_DefinitionBase builder) { this.Id = builder.Id; this.Public = builder.Public; this.Enabled = builder.Enabled; this.AvailableInSurvival = builder.AvailableInSurvival; this.Icons = builder.Icons; if (builder.DisplayName != null && builder.DisplayName.StartsWith("DisplayName_")) { DisplayNameEnum = MyStringId.GetOrCompute(builder.DisplayName); } else { DisplayNameString = builder.DisplayName; } if (builder.Description != null && builder.Description.StartsWith("Description_")) { DescriptionEnum = MyStringId.GetOrCompute(builder.Description); } else { DescriptionString = builder.Description; } Debug.Assert(!Context.IsBaseGame || !Public || string.IsNullOrWhiteSpace(builder.DisplayName) || (DisplayNameEnum.HasValue && builder.DisplayName.StartsWith("DisplayName_")), string.Format("Bad display name '{0}' on definition '{1}'. It should either be empty, or it must start with 'DisplayName_' and have corresponding text enum defined.", builder.DisplayName, Id)); Debug.Assert(!Context.IsBaseGame || !Public || string.IsNullOrWhiteSpace(builder.Description) || (DescriptionEnum.HasValue && builder.Description.StartsWith("Description_")), string.Format("Bad description '{0}' on definition '{1}'. It should either be empty, or it must start with 'Description_' and have corresponding text enum defined.", builder.Description, Id)); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var upgradeDef = builder as MyObjectBuilder_UpgradeModuleDefinition; Upgrades = upgradeDef.Upgrades; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_UseObjectsComponentDefinition; LoadFromModel = ob.LoadFromModel; UseObjectFromModelBBox = ob.UseObjectFromModelBBox; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var spawnDef = builder as MyObjectBuilder_InventorySpawnComponent_Definition; ContainerDefinition = spawnDef.ContainerDefinition; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_UsableItemDefinition; UseSound = ob.UseSound; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_CurveDefinition; Curve = new Curve(); foreach (var point in ob.Points) Curve.Keys.Add(new CurveKey(point.Time, point.Value)); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_SchematicItemDefinition; MyDebug.AssertDebug(ob.Research.HasValue, String.Format("No research specified for {0}", ob.Id)); Research = ob.Research.Value; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_SessionComponentResearchDefinition; if (ob.Researches != null) foreach (var research in ob.Researches) Researches.Add(research); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = (MyObjectBuilder_DemoComponentDefinition) builder; Float = ob.Float; Int = ob.Int; String = ob.String; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); MyObjectBuilder_VisualSettingsDefinition objBuilder = (MyObjectBuilder_VisualSettingsDefinition)builder; FogProperties = objBuilder.FogProperties; SunProperties = objBuilder.SunProperties; PostProcessSettings = objBuilder.PostProcessSettings; ShadowSettings.CopyFrom(objBuilder.ShadowSettings); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_ResearchDefinition; Entries = new List<MyDefinitionId>(); foreach (var definitionId in ob.Entries) Entries.Add(definitionId); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = (MyObjectBuilder_WorldEnvironmentBase)builder; SectorSize = ob.SectorSize; ItemDensity = ob.ItemsPerSqMeter; SyncLod = ob.MaxSyncLod; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_CurveDefinition; Curve = new Curve(); foreach (var point in ob.Points) { Curve.Keys.Add(new CurveKey(point.Time, point.Value)); } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var gpsBuilder = builder as MyObjectBuilder_GpsCollectionDefinition; Positions = new List<MyGpsCoordinate>(); if (gpsBuilder.Positions != null && gpsBuilder.Positions.Length > 0) { StringBuilder name = new StringBuilder(); Vector3D coords = Vector3D.Zero; StringBuilder additionalData = new StringBuilder(); foreach (var gpsString in gpsBuilder.Positions) { if (MyGpsCollection.ParseOneGPSExtended(gpsString, name, ref coords, additionalData)) { MyGpsCoordinate newGps = new MyGpsCoordinate() { Name = name.ToString(), Coords = coords }; var additionalString = additionalData.ToString(); if (!string.IsNullOrWhiteSpace(additionalString)) { string[] split = additionalString.Split(':'); for (int i = 0; i < split.Length / 2; ++i) { string first = split[2 * i + 0]; string second = split[2 * i + 1]; if (!string.IsNullOrWhiteSpace(first) && !string.IsNullOrWhiteSpace(second)) { if (newGps.Actions == null) newGps.Actions = new List<MyGpsAction>(); newGps.Actions.Add(new MyGpsAction() { BlockName = first, ActionId = second }); } } } Positions.Add(newGps); } else { Debug.Fail("Invalid GPS: " + gpsString); } } } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = (MyObjectBuilder_ProceduralEnvironmentModuleDefinition)builder; ModuleType = MyGlobalTypeMetadata.Static.GetType(ob.QualifiedTypeName, false); if (ModuleType == null) { MyLog.Default.Error("Could not find module type {0}!", ob.QualifiedTypeName); throw new ArgumentException("Could not find module type;"); } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_PhysicsComponentDefinitionBase; MassPropertiesComputation = ob.MassPropertiesComputation; RigidBodyFlags = ob.RigidBodyFlags; CollisionLayer = ob.CollisionLayer; LinearDamping = ob.LinearDamping; AngularDamping = ob.AngularDamping; ForceActivate = ob.ForceActivate; UpdateFlags = ob.UpdateFlags; Serialize = ob.Serialize; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_EquivalencyGroupDefinition; if (ob != null) { MainElement = ob.MainId; ForceMainElement = ob.ForceMainId; Equivalents = new List<MyDefinitionId>(); foreach (var equivalent in ob.EquivalentId) Equivalents.Add(equivalent); } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_InventoryComponentDefinition; Volume = ob.Volume; if (ob.Size != null) { Vector3 size = ob.Size.Value; Volume = size.Volume; } Mass = ob.Mass; RemoveEntityOnEmpty = ob.RemoveEntityOnEmpty; MultiplierEnabled = ob.MultiplierEnabled; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = (MyObjectBuilder_EnvironmentModuleProxyDefinition)builder; ModuleType = MyGlobalTypeMetadata.Static.GetType(ob.QualifiedTypeName, false); /*if (ModuleType == null && !Context.IsBaseGame) { ModuleType = MySession.Static.ScriptManager.GetScriptType(Context, ob.QualifiedTypeName); }*/ if (ModuleType == null) { MyLog.Default.Error("Could not find module type {0}!", ob.QualifiedTypeName); throw new ArgumentException("Could not find module type;"); } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_AudioDefinition; MyDebug.AssertDebug(ob != null); this.SoundData = ob.SoundData; this.SoundData.SubtypeId = base.Id.SubtypeId; if (this.SoundData.Loopable) { bool hasLoop = true; for (int i = 0; i < this.SoundData.Waves.Count; i++) { hasLoop &= this.SoundData.Waves[i].Loop != null; } //MyDebug.AssertDebug(hasLoop, String.Format("Sound '{0}' has <Loopable> tag set to TRUE, but is missing a <Loop> in <Wave>, please fix the .sbc", this.SoundData.SubtypeId)); } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_BotCollectionDefinition; if (ob == null) return; MyDebug.AssertDebug(ob.Bots != null); List<MyDefinitionId> bots = new List<MyDefinitionId>(); List<float> probabilities = new List<float>(); for (int i = 0; i < ob.Bots.Length; i++) { var bot = ob.Bots[i]; bots.Add(bot.Id); probabilities.Add(bot.Probability); } Bots = new MyDiscreteSampler<MyDefinitionId>(bots, probabilities); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ghostCharacterBuilder = builder as MyObjectBuilder_GhostCharacterDefinition; if (ghostCharacterBuilder.LeftHandWeapons != null) { foreach (var defId in ghostCharacterBuilder.LeftHandWeapons) { LeftHandWeapons.Add(defId); } } if (ghostCharacterBuilder.RightHandWeapons != null) { foreach (var defId in ghostCharacterBuilder.RightHandWeapons) { RightHandWeapons.Add(defId); } } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_CubeBlockStackSizeDefinition; if (ob != null) { if (ob.Blocks != null) { foreach (var item in ob.Blocks) { MyObjectBuilderType typeId; if (item.TypeId != null) { typeId = MyObjectBuilderType.Parse(item.TypeId); } else { string error = "\"TypeId\" must be defined in a block item for " + builder.Id; System.Diagnostics.Debug.Assert(false, error); Sandbox.MySandboxGame.Log.WriteLine(error); throw new ArgumentException(error); } if (item.SubtypeId != null) { BlockMaxStackSizes.Add(new MyDefinitionId(typeId, item.SubtypeId), item.MaxStackSize); } else { string error = "\"SubtypeId\" must be defined in a block item for " + builder.Id; System.Diagnostics.Debug.Assert(false, error); Sandbox.MySandboxGame.Log.WriteLine(error); throw new ArgumentException(error); } } } } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_VoxelMapCollectionDefinition; if (ob == null) return; MyDebug.AssertDebug(ob.StorageDefs != null); List<MyDefinitionId> defs = new List<MyDefinitionId>(); List<float> probabilities = new List<float>(); for (int i = 0; i < ob.StorageDefs.Length; i++) { var storage = ob.StorageDefs[i]; defs.Add(new MyDefinitionId(typeof(MyObjectBuilder_VoxelMapStorageDefinition), storage.Storage)); probabilities.Add(storage.Probability); } StorageFiles = new MyDiscreteSampler<MyDefinitionId>(defs, probabilities); Modifier = MyStringHash.GetOrCompute(ob.Modifier); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); }
public void Init(MyObjectBuilder_DefinitionBase builder, MyModContext modContext) { Context = modContext; Init(builder); }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var definitionBuilder = (builder as MyObjectBuilder_ContainerDefinition); Flags = definitionBuilder.Flags; if (definitionBuilder.DefaultComponents != null && definitionBuilder.DefaultComponents.Length > 0) { if (DefaultComponents == null) { DefaultComponents = new List <DefaultComponent>(); } foreach (var component in definitionBuilder.DefaultComponents) { DefaultComponent defComponent = new DefaultComponent(); try { if (component.BuilderType != null) { MyObjectBuilderType obType; obType = MyObjectBuilderType.Parse(component.BuilderType); defComponent.BuilderType = obType; } } catch (Exception) { System.Diagnostics.Debug.Fail(String.Format("Can not parse defined component builder type {0} for container {1}", component.BuilderType.ToString(), Id.ToString())); MyLog.Default.WriteLine(String.Format("Container definition error: can not parse defined component type {0} for container {1}", component, Id.ToString())); } try { if (component.InstanceType != null) { Type runtimeType = Type.GetType(component.InstanceType, true); defComponent.InstanceType = runtimeType; } } catch (Exception) { System.Diagnostics.Debug.Fail(String.Format("Can not parse defined component instance type {0} for container {1}", component.InstanceType.ToString(), Id.ToString())); MyLog.Default.WriteLine(String.Format("Container definition error: can not parse defined component type {0} for container {1}", component, Id.ToString())); } defComponent.ForceCreate = component.ForceCreate; if (component.SubtypeId != null) { defComponent.SubtypeId = MyStringHash.GetOrCompute(component.SubtypeId); } if (defComponent.IsValid()) { DefaultComponents.Add(defComponent); } else { System.Diagnostics.Debug.Fail(String.Format("Defined component {0} for container {1} is invalid, none builder type or instance type is defined! Skipping it.", component, Id.ToString())); MyLog.Default.WriteLine(String.Format("Defined component {0} for container {1} is invalid, none builder type or instance type is defined! Skipping it.", component, Id.ToString())); } } } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var definitionBuilder = (builder as MyObjectBuilder_ContainerDefinition); Flags = definitionBuilder.Flags; if (definitionBuilder.DefaultComponents != null && definitionBuilder.DefaultComponents.Length > 0) { if (DefaultComponents == null) { DefaultComponents = new List<DefaultComponent>(); } foreach (var component in definitionBuilder.DefaultComponents) { DefaultComponent defComponent = new DefaultComponent(); try { if (component.BuilderType != null) { MyObjectBuilderType obType; obType = MyObjectBuilderType.Parse(component.BuilderType); defComponent.BuilderType = obType; } } catch (Exception) { System.Diagnostics.Debug.Fail(String.Format("Can not parse defined component builder type {0} for container {1}", component.BuilderType.ToString(), Id.ToString())); MyLog.Default.WriteLine(String.Format("Container definition error: can not parse defined component type {0} for container {1}", component, Id.ToString())); } try { if (component.InstanceType != null) { Type runtimeType = Type.GetType(component.InstanceType, true); defComponent.InstanceType = runtimeType; } } catch (Exception) { System.Diagnostics.Debug.Fail(String.Format("Can not parse defined component instance type {0} for container {1}", component.InstanceType.ToString(), Id.ToString())); MyLog.Default.WriteLine(String.Format("Container definition error: can not parse defined component type {0} for container {1}", component, Id.ToString())); } defComponent.ForceCreate = component.ForceCreate; if (component.SubtypeId != null) { defComponent.SubtypeId = MyStringHash.GetOrCompute(component.SubtypeId); } if (defComponent.IsValid()) { DefaultComponents.Add(defComponent); } else { System.Diagnostics.Debug.Fail(String.Format("Defined component {0} for container {1} is invalid, none builder type or instance type is defined! Skipping it.", component, Id.ToString())); MyLog.Default.WriteLine(String.Format("Defined component {0} for container {1} is invalid, none builder type or instance type is defined! Skipping it.", component, Id.ToString())); } } } }