/// Use this for initialization public sceneTrackdata() { ///get manager for long term data storage //TestDataManager manager = TestDataManager.instance; ///init data for this scene trackData = new Dictionary <long, List <trackDataSet> >(); trackDataSequence = 0; newdataSequence(); ///create states states = new Dictionary <string, recordState <sceneTrackdata> >(); offState = new offState() as recordState <sceneTrackdata>; onState = new onState() as recordState <sceneTrackdata>; currentState = offState; states.Add("passiveState", (new offState()) as recordState <sceneTrackdata>); states.Add("recordState", (new onState()) as recordState <sceneTrackdata>); /* * ///create stateMachine * state = new StateMachine<sceneTrackdata>(); * state.Configure(this, states["passiveState"]); */ }
private void StartRecord() { initial.transform.position = player.transform.position; initial.transform.rotation = player.transform.rotation; record = new InputEventTrace(); record.Enable(); state = recordState.recording; }
void Update() { if (state == recordState.playing && replay.finished) { state = recordState.none; replay.paused = true; mirror.GetComponent <SimpleMovement>().enabled = false; player.GetComponent <SimpleMovement>().enabled = true; InputSystem.EnableDevice(keyboard); UpdateUI(); } }
private void StartMirror() { if (record == null) { return; } mirror.GetComponent <SimpleMovement>().enabled = true; player.GetComponent <SimpleMovement>().enabled = false; //foreach (UnityEngine.InputSystem.InputDevice device in InputSystem.devices) // InputSystem.DisableDevice(device); //InputSystem.DisableDevice(keyboard); mirror.transform.position = initial.transform.position + offset; mirror.transform.rotation = initial.transform.rotation; replay = record.Replay(); //replay.WithAllDevicesMappedToNewInstances(); replay.PlayAllEventsAccordingToTimestamps(); replay.paused = false; state = recordState.playing; }
public void Stop() { switch (state) { case recordState.recording: record.Disable(); break; case recordState.playing: replay.paused = true; mirror.GetComponent <SimpleMovement>().enabled = false; player.GetComponent <SimpleMovement>().enabled = true; InputSystem.EnableDevice(keyboard); break; case recordState.none: break; default: break; } state = recordState.none; UpdateUI(); }
public void changeState(recordState <sceneTrackdata> state) { currentState.Exit(this); currentState = state; state.Enter(this); }