public override void OnUpdate() { foreach (AnimationState deployState in deployStates) { deployState.normalizedTime = Mathf.Clamp01(deployState.normalizedTime); } if (State == RadiatorState.Retracting) { if (EvalAnimationCompletionReversed(deployStates) == 0f) { State = RadiatorState.Retracted; } } if (State == RadiatorState.Deploying) { if (EvalAnimationCompletion(deployStates) == 1f) { State = RadiatorState.Deployed; } } if ((State == RadiatorState.Deployed && Events["DeployRadiator"].active) || (State == RadiatorState.Retracted && Events["RetractRadiator"].active)) { Events["DeployRadiator"].active = !Events["DeployRadiator"].active; Events["RetractRadiator"].active = !Events["RetractRadiator"].active; } }
// Retract Radiators public void Retract() { foreach (AnimationState deployState in deployStates) { deployState.speed = -1; } State = RadiatorState.Retracting; }
// Deploy Radiators public void Deploy() { foreach (AnimationState deployState in deployStates) { deployState.speed = 1; } State = RadiatorState.Deploying; }
public override void OnUpdate() { foreach (AnimationState deployState in deployStates) { deployState.normalizedTime = Mathf.Clamp01(deployState.normalizedTime); } if (State == RadiatorState.Retracting) { if (EvalAnimationCompletionReversed(deployStates) == 0f) State = RadiatorState.Retracted; } if (State == RadiatorState.Deploying) { if (EvalAnimationCompletion(deployStates) == 1f) State = RadiatorState.Deployed; } if ((State == RadiatorState.Deployed && Events["DeployRadiator"].active) || (State == RadiatorState.Retracted && Events["RetractRadiator"].active)) { Events["DeployRadiator"].active = !Events["DeployRadiator"].active; Events["RetractRadiator"].active = !Events["RetractRadiator"].active; } }