Exemple #1
0
        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();
 }
Exemple #3
0
 public abstract void Reset(ResetScenario scenario = ResetScenario.OnDemand);
Exemple #4
0
 public override void Reset(ResetScenario scenario = ResetScenario.OnDemand)
 {
     base.Reset(scenario);
     _idx = 0;
     _currentUnitRemoved = false;
 }