// Update is called once per frame void Update() { switch (state) { default: case States.Bringing: lockerController.mod = 0; break; case States.Touching: (bool isOpened, float mod) = touchHelper.GetNextMod(); lockerController.mod = mod; if (isOpened) { SetState(States.Opening); } break; case States.Opening: break; case States.AfterOpening: if (Input.GetMouseButtonDown(0)) { playableDirector.Stop(); playableDirector.RebuildGraph(); playableDirector.Play(); SetState(States.Bringing); } break; } }