Esempio n. 1
0
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        // While this state is updating, call the aim function in the VoidController.
        playerFrame.voidController.AimVoid();

        // This state will transition once the player releases the action 1 button.
        if (!playerFrame.inputBuffer.ActionHeld(InputName.Action1))
        {
            // 1. Call the function required.
            if (playerFrame.voidController.ValidTarget)
            {
                // Reveal the void
                playerFrame.voidController.Reveal();

                // Play animation
                playerFrame.animator.Play("CastReveal");

                // Manage the state transition.
                frame.StateTransition(playerFrame.voidController.CastingState);
            }
            else
            {
                playerFrame.animator.Play("CancelReveal");

                // Manage the state transition.
                frame.StateTransition(playerFrame.voidController.CastingState);
            }
        }
    }
    public override void OnStateExit(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        playerFrame.inspectController.ExitInspect();
    }
    public override void OnStateEnter(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        playerFrame.animator.Play("EnterFocusRepress");
    }
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        // While this state is updating, increment the focus time.
        playerFrame.voidController.FocusRepress();

        // If the player releases the Action 2 button and has focused for long enough, repress the void.
        if (!playerFrame.inputBuffer.ActionHeld(InputName.Action2))
        {
            // 1. Call the function required.
            if (playerFrame.voidController.RepressFocused)
            {
                // Reveal the void
                playerFrame.voidController.Repress();

                // Play animation
                playerFrame.animator.Play("CastRepress");

                // Manage the state transition.
                frame.StateTransition(playerFrame.voidController.CastingState);
            }
            else
            {
                playerFrame.animator.Play("CancelRepress");

                // Manage the state transition.
                frame.StateTransition(playerFrame.voidController.CastingState);
            }
        }
    }
    public override void OnStateEnter(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        playerFrame.lockController.interactLock(playerFrame.interactionManager.currentInteraction as intr_Lock);
        playerFrame.interactionManager.currentInteraction = null;
    }
    public override void OnStateEnter(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        Debug.Log("in state initiateinspect");

        //spawn object in inspect container
        playerFrame.inspectController.InitiateInspect(playerFrame.interactionManager.currentInteraction.gameObject);
        //remove interacted object with
        playerFrame.interactionManager.currentInteraction = null;
    }
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        string input = playerFrame.inputBuffer.PeekQueuedInput();

        if (input.Equals(InputName.Exit) && playerFrame.inspectController.IsInspecting)
        {
            playerFrame.ReturnToIdle();
        }
    }
Esempio n. 8
0
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        // We peek the latest queued input from the player's input buffer.
        string latestInput = playerFrame.inputBuffer.PeekQueuedInput();

        if (latestInput.Equals(InputName.Interact) && playerFrame.interactionManager.currentInteraction is PickupableObject)
        {
            playerFrame.ReturnToIdle();
            playerFrame.interactionManager.currentInteraction = null;
        }
    }
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        // We peek the latest queued input from the player's input buffer.
        string latestInput = playerFrame.inputBuffer.PeekQueuedInput();

        if (latestInput.Equals(InputName.EnterCombination) && playerFrame.lockController.IsLock)
        {
            if (playerFrame.lockController.checkPassCode())
            {
                playerFrame.ReturnToIdle();
            }
        }
        else if (latestInput.Equals(InputName.ExitLock) && playerFrame.lockController.IsLock)
        {
            playerFrame.ReturnToIdle();
        }
    }
    public override void OnStateExit(StateFrame frame)
    {
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        playerFrame.voidController.ResetFocus();
    }
Esempio n. 11
0
    public override void OnStateExit(StateFrame frame)
    {
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        playerFrame.motor.isSprinting = false;
    }
Esempio n. 12
0
    // This function will be called by StateFrame each fixed Timestep.
    public override void Listen(StateFrame frame)
    {
        // We perform a cast to the required StateFrame type, to reduce "GetComponent" calls at runtime.
        PlayerStateFrame playerFrame = frame as PlayerStateFrame;

        // We peek the latest queued input from the player's input buffer.
        string latestInput = playerFrame.inputBuffer.PeekQueuedInput();


        // If the player presses Action 1, reveal the void.
        if (latestInput.Equals(InputName.Action1) && !playerFrame.voidController.VoidActive && playerFrame.interactionManager.currentInteraction == null)
        {
            // 1. Manage the input.
            Debug.Log("Action 1 Performed. ");
            playerFrame.inputBuffer.PopQueuedInput();

            // 2. Manage the state transition.
            frame.StateTransition(playerFrame.voidController.AimVoidState);
        }

        // If the player presses Action 2, repress the void.
        else if (latestInput.Equals(InputName.Action2) && playerFrame.voidController.VoidActive && playerFrame.interactionManager.currentInteraction == null)
        {
            Debug.Log("Action 2 Performed. ");

            // 1. Manage the input.
            playerFrame.inputBuffer.PopQueuedInput();

            // 2. Manage the state transition.
            frame.StateTransition(playerFrame.voidController.FocusRepressState);
        }
        else if (playerFrame.interactionManager.currentInteraction is InspectableObject && !playerFrame.inspectController.IsInspecting || playerFrame.interactionManager.currentInteraction is intr_Book && !playerFrame.inspectController.IsInspecting || playerFrame.interactionManager.currentInteraction is intr_RetrainOrder && !playerFrame.inspectController.IsInspecting)
        {
            if (playerFrame.interactionManager.currentInteraction is intr_Book)
            {
                intr_Book interaction = playerFrame.interactionManager.currentInteraction as intr_Book;
                if (interaction.isPulled)
                {
                    // 1. Manage the input.
                    playerFrame.inputBuffer.PopQueuedInput();

                    // 2. Manage the state transition.
                    frame.StateTransition(playerFrame.inspectController.InitiateInspectState);
                }
            }
            else
            {
                // 1. Manage the input.
                playerFrame.inputBuffer.PopQueuedInput();

                // 2. Manage the state transition.
                frame.StateTransition(playerFrame.inspectController.InitiateInspectState);
            }
        }
        else if (playerFrame.interactionManager.currentInteraction is intr_Lock && !playerFrame.lockController.IsLock)
        {
            // 1. Manage the input.
            playerFrame.inputBuffer.PopQueuedInput();

            // 2. Manage the state transition.
            frame.StateTransition(playerFrame.lockController.LockState);
        }

        // If the player presses Action 4, sprint.
        if (playerFrame.inputBuffer.ActionHeld(InputName.Action4) && playerFrame.interactionManager.currentInteraction == null)
        {
            Debug.Log("Action 4 Performed. ");
            if (!playerFrame.motor.noStamina)
            {
                playerFrame.motor.isSprinting = true;
            }
            else
            {
                playerFrame.motor.isSprinting = false;
            }
        }
        else
        {
            playerFrame.motor.isSprinting = false;
        }
    }