protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_FloraElementDefinition; AppliedGroups = new Dictionary <string, MyGroupedIds>(); if (ob.AppliedGroups != null) { var groups = MyDefinitionManager.Static.GetGroupedIds("EnvGroups"); MyGroupedIds groupedIds = null; foreach (var group in ob.AppliedGroups) { if (groups.TryGetValue(group, out groupedIds)) { AppliedGroups.Add(group, groupedIds); } } } GrowthSteps = new List <GrowthStep>(); if (ob.GrowthSteps != null) { foreach (var element in ob.GrowthSteps) { GrowthSteps.Add(new GrowthStep(element.GroupInsId, element.Percent)); } } if (ob.GatheredItem != null) { GatheredItemDefinition = ob.GatheredItem.Id; GatheredAmount = ob.GatheredItem.Amount; IsGatherable = true; } else { GatheredItemDefinition = new MyDefinitionId(); GatheredAmount = -1; IsGatherable = false; } Regrowable = ob.Regrowable; GrowTime = ob.GrowTime; GatherableStep = ob.GatherableStep; PostGatherStep = ob.PostGatherStep; SpawnProbability = ob.SpawnProbability; AreaTransformType = ob.AreaTransformType; DecayTime = ob.DecayTime; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); MyObjectBuilder_FloraElementDefinition definition = builder as MyObjectBuilder_FloraElementDefinition; this.AppliedGroups = new Dictionary <string, MyGroupedIds>(); if (definition.AppliedGroups != null) { DictionaryValuesReader <string, MyGroupedIds> groupedIds = MyDefinitionManager.Static.GetGroupedIds("EnvGroups"); MyGroupedIds result = null; foreach (string str in definition.AppliedGroups) { if (groupedIds.TryGetValue(str, out result)) { this.AppliedGroups.Add(str, result); } } } this.GrowthSteps = new List <GrowthStep>(); if (definition.GrowthSteps != null) { foreach (MyObjectBuilder_FloraElementDefinition.GrowthStep step in definition.GrowthSteps) { this.GrowthSteps.Add(new GrowthStep(step.GroupInsId, step.Percent)); } } if (definition.GatheredItem != null) { this.GatheredItemDefinition = definition.GatheredItem.Id; this.GatheredAmount = definition.GatheredItem.Amount; this.IsGatherable = true; } else { this.GatheredItemDefinition = new MyDefinitionId(); this.GatheredAmount = -1f; this.IsGatherable = false; } this.Regrowable = definition.Regrowable; this.GrowTime = definition.GrowTime; this.GatherableStep = definition.GatherableStep; this.PostGatherStep = definition.PostGatherStep; this.SpawnProbability = definition.SpawnProbability; this.AreaTransformType = definition.AreaTransformType; this.DecayTime = definition.DecayTime; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_FloraElementDefinition; AppliedItems = new Dictionary <MyStringHash, List <MyStringHash> >(MyStringHash.Comparer); foreach (var element in ob.EnvironmentItems) { var groupId = MyStringHash.GetOrCompute(element.Group); if (!AppliedItems.ContainsKey(groupId)) { AppliedItems[groupId] = new List <MyStringHash>(); } AppliedItems[groupId].Add(MyStringHash.GetOrCompute(element.Subtype)); } GrowthSteps = new List <GrowthStep>(); if (ob.GrowthSteps != null) { foreach (var element in ob.GrowthSteps) { GrowthSteps.Add(new GrowthStep(element.SubModelId, element.Percent)); } } if (ob.GatheredItem != null) { GatheredItemDefinition = ob.GatheredItem.Id; GatheredAmount = ob.GatheredItem.Amount; } else { GatheredItemDefinition = new MyDefinitionId(); GatheredAmount = -1; } Regrowable = ob.Regrowable; GrowTime = ob.GrowTime; GatherableStep = ob.GatherableStep; PostGatherStep = ob.PostGatherStep; SpawnProbability = ob.SpawnProbability; AreaTransformType = ob.AreaTransformType; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_FloraElementDefinition; AppliedItems = new Dictionary<MyStringHash, List<MyStringHash>>(MyStringHash.Comparer); foreach (var element in ob.EnvironmentItems) { var groupId = MyStringHash.GetOrCompute(element.Group); if (!AppliedItems.ContainsKey(groupId)) AppliedItems[groupId] = new List<MyStringHash>(); AppliedItems[groupId].Add(MyStringHash.GetOrCompute(element.Subtype)); } GrowthSteps = new List<GrowthStep>(); if (ob.GrowthSteps != null) { foreach (var element in ob.GrowthSteps) GrowthSteps.Add(new GrowthStep(element.SubModelId, element.Percent)); } if (ob.GatheredItem != null) { GatheredItemDefinition = ob.GatheredItem.Id; GatheredAmount = ob.GatheredItem.Amount; } else { GatheredItemDefinition = new MyDefinitionId(); GatheredAmount = -1; } Regrowable = ob.Regrowable; GrowTime = ob.GrowTime; GatherableStep = ob.GatherableStep; PostGatherStep = ob.PostGatherStep; SpawnProbability = ob.SpawnProbability; AreaTransformType = ob.AreaTransformType; }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_FloraElementDefinition; AppliedGroups = new Dictionary<string, MyGroupedIds>(); if (ob.AppliedGroups != null) { var groups = MyDefinitionManager.Static.GetGroupedIds("EnvGroups"); MyGroupedIds groupedIds = null; foreach (var group in ob.AppliedGroups) { if (groups.TryGetValue(group, out groupedIds)) AppliedGroups.Add(group, groupedIds); } } GrowthSteps = new List<GrowthStep>(); if (ob.GrowthSteps != null) { foreach (var element in ob.GrowthSteps) GrowthSteps.Add(new GrowthStep(element.GroupInsId, element.Percent)); } if (ob.GatheredItem != null) { GatheredItemDefinition = ob.GatheredItem.Id; GatheredAmount = ob.GatheredItem.Amount; IsGatherable = true; } else { GatheredItemDefinition = new MyDefinitionId(); GatheredAmount = -1; IsGatherable = false; } Regrowable = ob.Regrowable; GrowTime = ob.GrowTime; GatherableStep = ob.GatherableStep; PostGatherStep = ob.PostGatherStep; SpawnProbability = ob.SpawnProbability; AreaTransformType = ob.AreaTransformType; DecayTime = ob.DecayTime; }