예제 #1
0
 void Start()
 {
     m_currCamera             = DefaultCamera;
     m_lastShowMirrors        = showMirrors;
     m_lastImageEffects       = enableImageEffects;
     m_currCamera             = DefaultCamera;
     m_lastTarget             = Target;
     m_scrFixTo               = GetComponent <CamFixTo>() as CamFixTo;
     m_scrSmoothFollow        = GetComponent <CamSmoothFollow>() as CamSmoothFollow;
     m_scrMouseOrbit          = GetComponent <CamMouseOrbit>() as CamMouseOrbit;
     m_scrSmoothLookAt        = GetComponent <CamSmoothLookAt>() as CamSmoothLookAt;
     m_scrFreeView            = GetComponent <CamFreeView>() as CamFreeView;
     m_scrSmoothLookAtFromPos = GetComponent <CamSmoothLookAtFromPos>() as CamSmoothLookAtFromPos;
     m_cameraScript           = new MonoBehaviour[m_numCameras];
     m_cameraScript[0]        = m_scrFixTo;
     m_cameraScript[1]        = m_scrSmoothFollow;
     m_cameraScript[2]        = m_scrMouseOrbit;
     m_cameraScript[3]        = m_scrSmoothLookAt;
     m_cameraScript[4]        = m_scrFreeView;
     m_cameraScript[5]        = m_scrSmoothLookAtFromPos;
     if (MapCamera)
     {
         m_scrMapFollow = MapCamera.GetComponent <CamSmoothFollow>() as CamSmoothFollow;
     }
     if (MirrorLeftTex)
     {
         MirrorLeftTex.enabled = false;
     }
     if (MirrorRightTex)
     {
         MirrorRightTex.enabled = false;
     }
     if (MirrorRearTex)
     {
         MirrorRearTex.enabled = false;
     }
     if (Target)
     {
         UpdateTarget();
     }
     for (int i = 0; i < ImageEffects.Length; i++)
     {
         ImageEffects[i].enabled = enableImageEffects;
     }
     for (int i = 0; i < m_numCameras; i++)
     {
         m_cameraScript[i].enabled = false;
     }
     m_cameraScript[m_currCamera].enabled = true;
 }
예제 #2
0
 public void SwitchTo(int Cam)
 {
     if (Cam < m_numCameras)
     {
         if (Cam == 0 && Cam == m_currCamera)
         {
             CamFreeView DriverCam = m_targetCams.DriverFront.GetComponent <CamFreeView>() as CamFreeView;
             if (DriverCam)
             {
                 DriverCam.SetLocalEulerAngles(m_targetCams.getDriverViewAngles());
             }
         }
         m_cameraScript[m_currCamera].enabled = false;
         m_cameraScript[Cam].enabled          = true;
         m_currCamera            = Cam;
         m_scrSmoothFollow.reset = true;
         UpdateMirrors();
     }
 }
예제 #3
0
 private void UpdateTarget()
 {
     if (m_targetCams)
     {
         if (m_targetCams.MirrorLeft)
         {
             m_targetCams.MirrorLeft.enabled = false;
         }
         if (m_targetCams.MirrorRight)
         {
             m_targetCams.MirrorRight.enabled = false;
         }
         if (m_targetCams.MirrorRear)
         {
             m_targetCams.MirrorRear.enabled = false;
         }
         if (m_scrDriverFreeView)
         {
             m_scrDriverFreeView.enabled = false;
         }
     }
     m_targetCams = Target.GetComponent <CarCameras>() as CarCameras;
     if (m_targetCams.DriverFront)
     {
         m_scrDriverFreeView = m_targetCams.DriverFront.GetComponent <CamFreeView>() as CamFreeView;
     }
     else
     {
         m_scrDriverFreeView = null;
     }
     m_scrFixTo.Pos                    = m_targetCams.DriverFront;
     m_scrSmoothFollow.target          = m_targetCams.CameraLookAtPoint;
     m_scrSmoothFollow.distance        = m_targetCams.viewDistance;
     m_scrSmoothFollow.height          = m_targetCams.viewHeight;
     m_scrSmoothFollow.rotationDamping = m_targetCams.viewDamping;
     m_scrSmoothFollow.reset           = true;
     m_scrMouseOrbit.target            = m_targetCams.CameraLookAtPoint;
     m_scrMouseOrbit.distance          = m_targetCams.viewDistance;
     m_scrMouseOrbit.distMinLimit      = m_targetCams.viewMinDistance;
     m_scrMouseOrbit.yMinLimit         = m_targetCams.viewMinHeight;
     m_scrSmoothLookAt.target          = m_targetCams.CameraLookAtPoint;
     if (m_scrMapFollow)
     {
         m_scrMapFollow.target = m_targetCams.CameraLookAtPoint;
     }
     if (Target2)
     {
         CarCameras Target2Cameras;
         m_scrSmoothLookAtFromPos.pos       = m_targetCams.CameraLookAtPoint;
         m_scrSmoothLookAtFromPos.positionZ = -m_targetCams.viewDistance;
         m_scrSmoothLookAtFromPos.positionY = m_targetCams.viewHeight / 2.0f;
         Target2Cameras = Target2.GetComponent <CarCameras>() as CarCameras;
         if (Target2Cameras)
         {
             m_scrSmoothLookAtFromPos.target = Target2Cameras.CameraLookAtPoint;
         }
         else
         {
             m_scrSmoothLookAtFromPos.target = Target2;
         }
     }
     else
     {
         if (m_currCamera == m_numCameras - 1)
         {
             SwitchTo(DefaultCamera);
         }
     }
     UpdateMirrors();
 }
 void Start()
 {
     m_currCamera = DefaultCamera;
     m_lastShowMirrors = showMirrors;
     m_lastImageEffects = enableImageEffects;
     m_currCamera = DefaultCamera;
     m_lastTarget = Target;
     m_scrFixTo = GetComponent<CamFixTo>() as CamFixTo;
     m_scrSmoothFollow = GetComponent<CamSmoothFollow>() as CamSmoothFollow;
     m_scrMouseOrbit = GetComponent<CamMouseOrbit>() as CamMouseOrbit;
     m_scrSmoothLookAt = GetComponent<CamSmoothLookAt>() as CamSmoothLookAt;
     m_scrFreeView = GetComponent<CamFreeView>() as CamFreeView;
     m_scrSmoothLookAtFromPos = GetComponent<CamSmoothLookAtFromPos>() as CamSmoothLookAtFromPos;
     m_cameraScript = new MonoBehaviour[m_numCameras];
     m_cameraScript[0] = m_scrFixTo;
     m_cameraScript[1] = m_scrSmoothFollow;
     m_cameraScript[2] = m_scrMouseOrbit;
     m_cameraScript[3] = m_scrSmoothLookAt;
     m_cameraScript[4] = m_scrFreeView;
     m_cameraScript[5] = m_scrSmoothLookAtFromPos;
     if (MapCamera)
         m_scrMapFollow = MapCamera.GetComponent<CamSmoothFollow>() as CamSmoothFollow;
     if (MirrorLeftTex)
         MirrorLeftTex.enabled = false;
     if (MirrorRightTex)
         MirrorRightTex.enabled = false;
     if (MirrorRearTex)
         MirrorRearTex.enabled = false;
     if (Target)
         UpdateTarget();
     for (int i = 0; i < ImageEffects.Length; i++)
         ImageEffects[i].enabled = enableImageEffects;
     for (int i = 0; i < m_numCameras; i++)
         m_cameraScript[i].enabled = false;
     m_cameraScript[m_currCamera].enabled = true;
 }
 private void UpdateTarget()
 {
     if (m_targetCams)
     {
         if (m_targetCams.MirrorLeft)
             m_targetCams.MirrorLeft.enabled = false;
         if (m_targetCams.MirrorRight)
             m_targetCams.MirrorRight.enabled = false;
         if (m_targetCams.MirrorRear)
             m_targetCams.MirrorRear.enabled = false;
         if (m_scrDriverFreeView)
             m_scrDriverFreeView.enabled = false;
     }
     m_targetCams = Target.GetComponent<CarCameras>() as CarCameras;
     if (m_targetCams.DriverFront)
         m_scrDriverFreeView = m_targetCams.DriverFront.GetComponent<CamFreeView>() as CamFreeView;
     else
         m_scrDriverFreeView = null;
     m_scrFixTo.Pos = m_targetCams.DriverFront;
     m_scrSmoothFollow.target = m_targetCams.CameraLookAtPoint;
     m_scrSmoothFollow.distance = m_targetCams.viewDistance;
     m_scrSmoothFollow.height = m_targetCams.viewHeight;
     m_scrSmoothFollow.rotationDamping = m_targetCams.viewDamping;
     m_scrSmoothFollow.reset = true;
     m_scrMouseOrbit.target = m_targetCams.CameraLookAtPoint;
     m_scrMouseOrbit.distance = m_targetCams.viewDistance;
     m_scrMouseOrbit.distMinLimit = m_targetCams.viewMinDistance;
     m_scrMouseOrbit.yMinLimit = m_targetCams.viewMinHeight;
     m_scrSmoothLookAt.target = m_targetCams.CameraLookAtPoint;
     if (m_scrMapFollow)
         m_scrMapFollow.target = m_targetCams.CameraLookAtPoint;
     if (Target2)
     {
         CarCameras Target2Cameras;
         m_scrSmoothLookAtFromPos.pos = m_targetCams.CameraLookAtPoint;
         m_scrSmoothLookAtFromPos.positionZ = -m_targetCams.viewDistance;
         m_scrSmoothLookAtFromPos.positionY = m_targetCams.viewHeight / 2.0f;
         Target2Cameras = Target2.GetComponent<CarCameras>() as CarCameras;
         if (Target2Cameras)
             m_scrSmoothLookAtFromPos.target = Target2Cameras.CameraLookAtPoint;
         else
             m_scrSmoothLookAtFromPos.target = Target2;
     }
     else
     {
         if (m_currCamera == m_numCameras - 1)
             SwitchTo(DefaultCamera);
     }
     UpdateMirrors();
 }