void Update() { ControllersManager.Instance.Update(); switch (state) { case State.Initial: if (ControllersManager.Instance.isControllerLinked(Index)) { state = State.Linked; } break; case State.Linked: if (!DownButton.IsOn(Index)) { state = State.Ready; readyEvent.Invoke(); } break; case State.Ready: DownButton.Update(Index); DPadLeft.Update(Index); DPadRight.Update(Index); DPadDown.Update(Index); DPadUp.Update(Index); break; default: break; } }