Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        currentState = state.state();
        if (active && !locked && (Input.GetButton("Interact")))
        {
            if (!inputSpamming)
            {
                inputSpamming = true;
                if (currentState % 2 == 1)
                {
                    state = new SwingingShut(swingDir, swingSpeed, openLimit, hinge, transform, baseRot);
                }
                else
                {
                    state = new SwingingOpen(swingDir, swingSpeed, openLimit, hinge, transform, baseRot);
                }
            }

            //ik right hand to handle
        }
        else
        {
            inputSpamming = false;
        }

        if (currentState <= 2 || active)
        {
            int nextstate = state.update();

            if (prevstate != nextstate)
            {
                switch (nextstate)
                {
                case 1:
                    state = new SwingingOpen(swingDir, swingSpeed, openLimit, hinge, transform, baseRot);
                    break;

                case 2:
                    state = new SwingingShut(swingDir, swingSpeed, openLimit, hinge, transform, baseRot);
                    break;

                case 3:
                    state = new Open();
                    break;

                case 4:
                    state = new Shut();
                    break;

                default:
                    break;
                }
            }
            prevstate = nextstate;
        }
    }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        currentState = state.state();
        if (active && Input.GetKeyDown(KeyCode.E))
        {
            if (currentState % 2 == 1)
            {
                state = new SwingingShut(swingDir, swingSpeed, openLimit, hinge, model, baseRot);
            }
            else
            {
                state = new SwingingOpen(swingDir, swingSpeed, openLimit, hinge, model, baseRot);
            }
        }

        if (currentState <= 2 || active)
        {
            int nextstate = state.update();

            if (prevstate != nextstate)
            {
                switch (nextstate)
                {
                case 1:
                    state = new SwingingOpen(swingDir, swingSpeed, openLimit, hinge, model, baseRot);
                    break;

                case 2:
                    state = new SwingingShut(swingDir, swingSpeed, openLimit, hinge, model, baseRot);
                    break;

                case 3:
                    state = new Open();
                    break;

                case 4:
                    state = new Shut();
                    break;

                default:
                    break;
                }
            }
            prevstate = nextstate;
        }
    }