// 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; } }
// 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; } }