Exemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     Controller.Update();
     if (_nextCarStop.StartFrame != 0 && (_replayer.State == "Playing" || _replayer.State == "PlayingSloMo"))
     {
         if (Recrdng.Current.CurrFrame > _nextCarStop.StartFrame)
         {
             if (_nextCarStop.EndFrame > Recrdng.Current.CurrFrame && Random.Range(0, 2) > 1)
             {
                 Controller.Reset();
                 Controller = new CamController_Stop(ActiveCam.transform, Car, _replayer, _nextCarStop);
                 Controller.Init(false);
             }
             _nextCarStop = CarStops.FirstOrDefault(s => s.StartFrame > _nextCarStop.EndFrame);
         }
         else if (Controller.OutOfBounds())
         {
             ChooseRandomCam();
         }
     }
     else
     {
         if (Controller.OutOfBounds())
         {
             ChooseRandomCam();
         }
     }
 }
Exemplo n.º 2
0
    public CamController_Stop(Transform Cam, Transform Car, Replayer rep, CarStop stp)
    {
        _car        = Car;
        _trCam      = Cam;
        _replayer   = rep;
        _stp        = stp;
        FutureFrame = stp.EndFrame;
        _ccf        = _trCam.parent;
        _goCamBox   = new GameObject();
        _goCamBox.transform.position      = stp.CamPos;
        _goCamBox.transform.localRotation = Quaternion.identity;
        _trCam.position = stp.CamPos;
        _trCam.SetParent(_goCamBox.transform);
        _trCam.LookAt(stp.LookPos);
        _goCamBox.layer = 14;
        BoxCollider c = _goCamBox.AddComponent <BoxCollider>();

        c.center                     = Vector3.zero;
        c.size                       = new Vector3(0.1f, stp.TripodHeight * 2, 0.1f);
        _rbCamBox                    = _goCamBox.AddComponent <Rigidbody>();
        _rbCamBox.isKinematic        = true;
        _tripod                      = GameObject.CreatePrimitive(PrimitiveType.Cube);
        _tripod.transform.localScale = new Vector3(1, 0.2f, 1);
        _tripod.transform.position   = stp.CamPos - (stp.TripodHeight - 0.052f) * Vector3.up;
        _tripod.GetComponent <MeshRenderer>().enabled = false;
        _collCar        = _car.gameObject.AddComponent <BoxCollider>();
        _collCar.center = Vector3.up * 0.8f;
        _collCar.size   = new Vector3(2, 1.2f, 4);

        Debug.Log("StopJit constructor TripodHeight = " + stp.TripodHeight.ToString() + " " + Cam.name);
    }
Exemplo n.º 3
0
    public void ChooseCam(int NewCamId)
    {
        _currentCamId = NewCamId;
        Controller.Reset();

        switch (NewCamId)
        {
        case 16:
            //Debug.Log("Follow" + ActiveCam.name);
            Controller = new CamController_Follow(ActiveCam.transform, Car, _replayer);
            break;

        case 17:
            //Debug.Log("Wheelarch" + ActiveCam.name);
            Controller = new CamController_Wheelarch(ActiveCam.transform, Car, _replayer);
            break;

        case 18:
            //Debug.Log("Fish" + ActiveCam.name);
            Controller = new CamController_Driver(ActiveCam.transform, Car, _replayer);
            break;

        case 19:
            //Debug.Log("Zoom" + ActiveCam.name);
            Controller = new CamController_Zoom(ActiveCam.transform, Car, _replayer);
            break;

        case 20:
            //Debug.Log("Copter" + ActiveCam.name);
            Controller = new CamController_Drone(ActiveCam.transform, Car, _replayer);
            break;

        case 21:
            //Debug.Log("Chase" + ActiveCam.name);
            Controller = new CamController_RoadRunner(ActiveCam.transform, Car, _replayer, PlayerFrames);
            break;

        case 22:
            //Debug.Log("Hedgehog" + ActiveCam.name);
            Controller = new CamController_Hedgehog(ActiveCam.transform, Car, _replayer);
            break;

        case 23:
            //Debug.Log("Hedgehog" + ActiveCam.name);
            Controller = new CamController_Side(ActiveCam.transform, Car, _replayer);
            break;

        case 34:
            //Debug.Log("Ice" + ActiveCam.name);
            Controller = new CamController_Ice(ActiveCam.transform, Car, _replayer);
            break;
        }
        Controller.Init(false); //No Lerp cos we never coded it
        _nextCarStop = CarStops.FirstOrDefault(t => t.StartFrame > Recrdng.Current.CurrFrame);
    }