Ejemplo n.º 1
0
    //-------------  Time Travel Related Functions: All --------------//

    private IEnumerator TravelBackInTime()
    {
        //Enable TimeTravel State
        playerManager.StartTimeTravelling();

        //Fetcth the recording up until you pressed the reqind button
        Queue <TBInput> inputRecording = new Queue <TBInput>(controllerHandler.getRecording(playerManager.GetWhichPlayer()));

        //Set you up in proper position
        //transform.position = playerManager.getRecordedPosition();
        List <positionalData> positionalDatas = playerManager.getRecordPositionList();


        Color c = new Color(0.1f, 1f, 1f);

        transform.GetChild(2).GetChild(1).GetComponent <Renderer>().material.color = c;

        transform.GetChild(2).GetComponent <TrailRenderer>().enabled = true;


        for (int i = positionalDatas.Count - 1; i >= 0; i -= 2)
        {
            transform.position = positionalDatas[i].position;
            //playerManager.setPlayerOrientation(positionalDatas[i].orientation);
            //Debug.Log(positionalDatas[i].position);
            //yield return new WaitForSeconds(0.0000001f);
            yield return(new WaitForFixedUpdate());
        }

        c = new Color(1f, 1f, 1f);
        transform.GetChild(2).GetChild(1).GetComponent <Renderer>().material.color = c;
        transform.GetChild(2).GetComponent <TrailRenderer>().enabled = false; // FIXME:UBISOFT VISIT FIXME



        //yield return new WaitForSeconds(timeTravelWaitTime);


        playerManager.StopTimeTravelling();

        createEcho(inputRecording);
        transform.GetChild(2).GetComponent <TrailRenderer>().enabled = true;
    }