示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }