/// <summary> /// Assigns a configuration to the provided existing DebugSettlementCreator, using the DeployDate specified by the DebugCreator. /// </summary> /// <param name="creator">The creator.</param> /// <param name="owner">The owner.</param> /// <param name="system">The system to assign the settlement creator to.</param> public void AssignConfigurationToExistingCreator(DebugSettlementCreator creator, Player owner, SystemItem system) { GameDate deployDate = creator.EditorSettings.DateToDeploy; AssignConfigurationToExistingCreator(creator, owner, system, deployDate); }
/// <summary> /// Assigns a configuration to the provided existing DebugSettlementCreator, using the DeployDate provided. /// <remarks>The DebugCreator's EditorSettings specifying the DeployDate will be ignored.</remarks> /// </summary> /// <param name="creator">The creator.</param> /// <param name="owner">The owner.</param> /// <param name="system">The system to assign the settlement creator to.</param> /// <param name="deployDate">The deploy date.</param> public void AssignConfigurationToExistingCreator(DebugSettlementCreator creator, Player owner, SystemItem system, GameDate deployDate) { var editorSettings = creator.EditorSettings as BaseCreatorEditorSettings; ValidateOwner(owner, editorSettings); string unitName = editorSettings.UnitName; string cmdDesignName = MakeAndRecordSettlementCmdDesign(owner, editorSettings.UnitName, editorSettings.CMsPerCommand, editorSettings.Formation.Convert()); var hullStats = CreateFacilityHullStats(editorSettings, isSettlement: true); IList<string> elementDesignNames = MakeAndRecordFacilityDesigns(owner, hullStats, editorSettings.LosTurretsPerElement, editorSettings.MissileLaunchersPerElement, editorSettings.PassiveCMsPerElement, editorSettings.ActiveCMsPerElement, editorSettings.SensorsPerElement, editorSettings.ShieldGeneratorsPerElement); UnitCreatorConfiguration config = new UnitCreatorConfiguration(unitName, owner, deployDate, cmdDesignName, elementDesignNames); creator.Configuration = config; SystemFactory.Instance.InstallCelestialItemInOrbit(creator.gameObject, system.SettlementOrbitData); D.Log(ShowDebugLog, "{0} has installed a {1} for {2} in System {3}.", DebugName, typeof(DebugSettlementCreator).Name, owner, system.DebugName); }