/// 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"]);
         */
    }
Example #2
0
 private void StartRecord()
 {
     initial.transform.position = player.transform.position;
     initial.transform.rotation = player.transform.rotation;
     record = new InputEventTrace();
     record.Enable();
     state = recordState.recording;
 }
Example #3
0
    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();
        }
    }
Example #4
0
    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;
    }
Example #5
0
    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);
 }