public override void OnUpdate() { base.OnUpdate(); if (deployStowAnimation == null || upDownAnimation == null) { return; } //If we have no sequences then we're done if (sequenceIndex == -1) { return; } if (elevatorSequencer.Count == 0) { return; } //Run the sequencer SideElevatorSequences sequence = elevatorSequencer[sequenceIndex]; switch (sequence) { case SideElevatorSequences.Done: UpdateGUI(); sequenceIndex = -1; break; case SideElevatorSequences.Deploy: case SideElevatorSequences.Stow: if (deployStowAnimation.aniState == ModuleAnimateGeneric.animationStates.LOCKED) { sequenceIndex += 1; if (sequenceIndex >= elevatorSequencer.Count) { sequenceIndex = -1; } playAnimation(); } break; case SideElevatorSequences.Raise: case SideElevatorSequences.Lower: if (upDownAnimation.animation.isPlaying == false) { sequenceIndex += 1; if (sequenceIndex >= elevatorSequencer.Count) { sequenceIndex = -1; } } playAnimation(); break; default: break; } }
protected void playAnimation() { if (sequenceIndex == -1) { return; } SideElevatorSequences sequence = elevatorSequencer[sequenceIndex]; switch (sequence) { case SideElevatorSequences.Deploy: case SideElevatorSequences.Stow: deployStowAnimation.Toggle(); break; case SideElevatorSequences.Lower: case SideElevatorSequences.Raise: upDownAnimation.ToggleAnimation(); break; } }