コード例 #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();
         }
     }
 }
コード例 #2
0
 public void Init()
 {
     ActiveCam = cam1;
     goCam1.SetActive(true);
     Controller = new CamController_Follow(ActiveCam.transform, Car, _replayer);
     Controller.Init(false);
     _replayer.SetScreenRecCam(cam1);
 }
コード例 #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);
    }
コード例 #4
0
 void OnDestroy()
 {
     Controller = null;
     Destroy(goCam1);
 }
コード例 #5
0
 /// <summary>
 /// Resets the current controller and starts the CamController_Follow
 /// </summary>
 public void ChooseFollow()
 {
     Controller.Reset();
     Controller = new CamController_Follow(ActiveCam.transform, Car, _replayer);
     Controller.Init(false);
 }