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);
                }
            }
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 10
0
        protected override void Init(MyObjectBuilder_DefinitionBase builder)
        {
            base.Init(builder);

            var ob = builder as MyObjectBuilder_UsableItemDefinition;

            UseSound = ob.UseSound;
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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 = (MyObjectBuilder_WorldEnvironmentBase)builder;

            SectorSize = ob.SectorSize;

            ItemDensity = ob.ItemsPerSqMeter;

            SyncLod = ob.MaxSyncLod;
        }
Exemplo n.º 19
0
        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_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;");
            }
        }
Exemplo n.º 27
0
        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));
            }
        }
Exemplo n.º 28
0
        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);
        }
Exemplo n.º 33
0
 protected override void Init(MyObjectBuilder_DefinitionBase builder)
 {
     base.Init(builder);
 }
Exemplo n.º 34
0
 public void Init(MyObjectBuilder_DefinitionBase builder, MyModContext modContext)
 {
     Context = modContext;
     Init(builder);
 }
Exemplo n.º 35
0
 public void Init(MyObjectBuilder_DefinitionBase builder, MyModContext modContext)
 {
     Context = modContext;
     Init(builder);
 }
Exemplo n.º 36
0
        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()));
                    }
                }
            }
        }
Exemplo n.º 37
0
        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()));
                    }
                }
            }
        }