示例#1
0
 public void RemoveCamera(GolfCameraType type)
 {
     if (!m_vCameraDic.ContainsKey((uint)type))
     {
         m_vCameraDic.Remove((uint)type);
     }
 }
示例#2
0
 public GolfCamera(GolfCameraType type, Transform parent, GolfCameraPriority priority, int fieldOfView, Vector3 initPos)
 {
     Type            = type;
     InitialPosition = initPos;
     Name            = "VCam_" + Type.ToString();
     Create(parent, priority, fieldOfView);
 }
示例#3
0
    public void SetCameraPosition(GolfCameraType cameraType, Vector3 pos)
    {
        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            camera.SetPosition(pos);
        }
    }
示例#4
0
    public void Follow(GolfCameraType cameraType, Transform trans)
    {
        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            camera.Follow(trans);
        }
    }
示例#5
0
    public void LookAt(GolfCameraType cameraType, Vector3 pos)
    {
        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            camera.VCamera.transform.LookAt(pos);
        }
    }
示例#6
0
    public void SetCameraRotation(GolfCameraType cameraType, Quaternion rot)
    {
        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            camera.SetRotation(rot);
        }
    }
示例#7
0
    public GolfCamera GetCamera(GolfCameraType cameraType)
    {
        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            return(camera);
        }
        return(null);
    }
示例#8
0
 public void Clear()
 {
     CurType = GolfCameraType.Sky;
     if (m_vCameraDic != null)
     {
         foreach (GolfCamera camera in m_vCameraDic.Values)
         {
             camera.Clear();
         }
     }
     blenderSetting = null;
     blends         = null;
 }
示例#9
0
    private void InitBattleCameras(GolfCameraType initType)
    {
        CameraM = new GolfCameraManage(GolfCameraType.Sky);
        CameraM.AddCamera(new GolfCamera(GolfCameraType.Sky, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));
        CameraM.AddCamera(new GolfCamera(GolfCameraType.Drive2Fly, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));
        CameraM.AddCamera(new GolfCamera(GolfCameraType.Drive2Roll, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));
        CameraM.AddCamera(new GolfCamera(GolfCameraType.Fly2Land, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));
        CameraM.AddCamera(new GolfCamera(GolfCameraType.Land2Roll, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));
        CameraM.AddCamera(new GolfCamera(GolfCameraType.NearHole, transform, GolfCamera.GolfCameraPriority.Middle, 60, new Vector3(0, 0, 0)));

        CinemachineBlendDefinition blendDef = new CinemachineBlendDefinition(CinemachineBlendDefinition.Style.Cut, 1);

        CameraM.AddBlendSetting(CinemachineBlenderSettings.kBlendFromAnyCameraLabel, CameraM.GetCamera(GolfCameraType.Fly2Land).Name, blendDef);

        CameraM.SwitchCamera(initType, true);
    }
示例#10
0
    /// <summary>
    /// 切换相机
    /// </summary>
    /// <param name="cameraType"></param>
    /// <param name="canChange2Self"></param>
    public void SwitchCamera(GolfCameraType cameraType, bool canChange2Self = false)
    {
        if (!canChange2Self && CurType == cameraType)
        {
            return;
        }

        uint       cameraIdx = (uint)cameraType;
        GolfCamera camera    = null;

        if (m_vCameraDic.TryGetValue(cameraIdx, out camera))
        {
            camera.SetActive();
            CurType = cameraType;
        }
    }
示例#11
0
 public GolfCameraManage(GolfCameraType initType)
 {
     m_vCameraDic   = new Dictionary <uint, GolfCamera>();
     blenderSetting = (CinemachineBlenderSettings)ScriptableObject.CreateInstance(typeof(CinemachineBlenderSettings));
     blends         = new List <CinemachineBlenderSettings.CustomBlend>();
 }