protected override void Overrides() { Fields["displayChance"].guiName = "Chance of Control Surface Failure"; Fields["safetyRating"].guiName = "Control Surface Safety Rating"; failureType = "Control Surface Failure"; foreach (PartModule pm in part.Modules) { if (pm.moduleName.Equals("FARControllableSurface")) { FARControlSurface = pm; } } //Part is mechanical so can be repaired remotely. remoteRepairable = true; //Setup Weights and references. CheckValidWeights(); hingePitchWeight = hingeAdjustmentWeight; hingeYawWeight = hingeAdjustmentWeight; hingeRollWeight = hingeAdjustmentWeight; weightTotal = stuckWeight + hingeWeight; hingeWeightTotal = (hingePitchWeight * 3) + hingeResetWeight + hingeStuckWeight; hingeFailureScenarios.Add(new PitchChangeScenario(hingePitchWeight, adjustmentAmount)); hingeFailureScenarios.Add(new YawChangeScenario(hingeYawWeight, adjustmentAmount)); hingeFailureScenarios.Add(new RollChangeScenario(hingeRollWeight, adjustmentAmount)); resetScenario = new ResetScenario(hingeResetWeight); hingeFailureScenarios.Add(resetScenario); stuckScenario = new StuckScenario(hingeStuckWeight); hingeFailureScenarios.Add(stuckScenario); hingeFailureScenarios = hingeFailureScenarios.OrderBy(i => (i.Weight)).ToList(); }
public override void Reset(ResetScenario scenario = ResetScenario.OnDemand) { Clear(); }
public abstract void Reset(ResetScenario scenario = ResetScenario.OnDemand);
public override void Reset(ResetScenario scenario = ResetScenario.OnDemand) { base.Reset(scenario); _idx = 0; _currentUnitRemoved = false; }