protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var generatorBuilder = builder as MyObjectBuilder_ReactorDefinition; MyDebug.AssertDebug(generatorBuilder != null, "Initializing thrust definition using wrong object builder."); InventorySize = generatorBuilder.InventorySize; InventoryMaxVolume = InventorySize.X * InventorySize.Y * InventorySize.Z; FuelId = generatorBuilder.FuelId; FuelDefinition = MyDefinitionManager.Static.GetPhysicalItemDefinition(FuelId); MyDebug.AssertDebug(FuelDefinition != null); FuelItem = MyObjectBuilderSerializer.CreateNewObject(generatorBuilder.FuelId) as MyObjectBuilder_PhysicalObject; MyDebug.AssertDebug(FuelItem != null); //StringBuilder constraintTooltip = new StringBuilder(); //constraintTooltip.Append(FuelDefinition.DisplayNameText); //InventoryConstraint = new MyInventoryConstraint(constraintTooltip).Add(FuelId); String constraintTooltip = FuelDefinition.DisplayNameText; InventoryConstraint = new MyInventoryConstraint(constraintTooltip).Add(FuelId); }
public override void Init(MyComponentDefinitionBase definition) { base.Init(definition); var inventoryComponentDefinition = definition as MyInventoryComponentDefinition; if (inventoryComponentDefinition != null) { m_maxVolume = (MyFixedPoint)inventoryComponentDefinition.Volume; m_maxMass = (MyFixedPoint)inventoryComponentDefinition.Mass; RemoveEntityOnEmpty = inventoryComponentDefinition.RemoveEntityOnEmpty; m_multiplierEnabled = inventoryComponentDefinition.MultiplierEnabled; m_maxItemCount = inventoryComponentDefinition.MaxItemCount; Constraint = inventoryComponentDefinition.InputConstraint; } }
public void LoadPostProcess() { // Remove invalid blueprint classes for (int i = 0; i < BlueprintClasses.Count;) { if (!BlueprintClassCanBeUsed(BlueprintClasses[i])) BlueprintClasses.RemoveAt(i); else ++i; } // Set the constraint icons only if all the blueprint classes agree upon them string firstInputIcon = null; string firstOutputIcon = null; if (BlueprintClasses.Count != 0) { firstInputIcon = BlueprintClasses[0].InputConstraintIcon; firstOutputIcon = BlueprintClasses[0].OutputConstraintIcon; for (int i = 1; i < BlueprintClasses.Count; ++i) { if (BlueprintClasses[i].InputConstraintIcon != firstInputIcon) firstInputIcon = null; if (BlueprintClasses[i].OutputConstraintIcon != firstOutputIcon) firstOutputIcon = null; } } StringBuilder sb = new StringBuilder(); sb.AppendFormat(MySpaceTexts.ToolTipItemFilter_GenericProductionBlockInput, DisplayNameText); InputInventoryConstraint = new MyInventoryConstraint(sb.ToString(), firstInputIcon); sb = new StringBuilder(); sb.AppendFormat(MySpaceTexts.ToolTipItemFilter_GenericProductionBlockOutput, DisplayNameText); OutputInventoryConstraint = new MyInventoryConstraint(sb.ToString(), firstOutputIcon); for (int i = 0; i < BlueprintClasses.Count; ++i) { foreach (var blueprint in BlueprintClasses[i]) { foreach (var input in blueprint.Prerequisites) InputInventoryConstraint.Add(input.Id); foreach (var output in blueprint.Results) OutputInventoryConstraint.Add(output.Id); } } }