// Deploy Panels public void Deploy() { if (!Deployable) return; for (int i = 0; i < deployStates.Length ; i++) { deployStates[i].speed = 1; } State = ModuleDeployablePart.DeployState.EXTENDING; }
public void Update() { if (Deployable) { for (int i = 0; i < deployStates.Length ; i++) { deployStates[i].normalizedTime = Mathf.Clamp01(deployStates[i].normalizedTime); } if (State == ModuleDeployablePart.DeployState.RETRACTING) { if (EvalAnimationCompletionReversed(deployStates) == 0f) State = ModuleDeployablePart.DeployState.RETRACTED; } if (State == ModuleDeployablePart.DeployState.EXTENDING) { if (EvalAnimationCompletion(deployStates) == 1f) State = ModuleDeployablePart.DeployState.EXTENDED; } if ((State == ModuleDeployablePart.DeployState.EXTENDED && Events["DeployPanels"].active) || (State == ModuleDeployablePart.DeployState.RETRACTED && Events["RetractPanels"].active)) { Events["DeployPanels"].active = !Events["DeployPanels"].active; Events["RetractPanels"].active = !Events["RetractPanels"].active; } } }
// Retract Panels public void Retract() { if (!Deployable) return; for (int i = 0; i < deployStates.Length ; i++) { deployStates[i].speed = -1; } State = ModuleDeployablePart.DeployState.RETRACTING; }