| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using DG.Tweening;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace UnityCommon
- {
- public class FollowState : CameraState
- {
- private Transform tfTarget;
- private Transform tfOriginalParent;
- public FollowState(Camera camera, Transform target) : base(camera)
- {
- tfTarget = target;
- }
- private float fieldOfViewOriginal = 60;
- public override void Enter()
- {
- base.Enter();
- tfOriginalParent = m_camera.transform.parent;
- fieldOfViewOriginal = m_camera.fieldOfView;
- m_camera.DOFieldOfView(28, 0.5f);
- m_camera.transform.SetParent(tfTarget);
- m_camera.transform.localPosition = Vector3.zero;
- m_camera.transform.localRotation = Quaternion.identity;
- //SetCameraPosition(tfTarget.position, tfTarget.rotation, () =>
- //{
- // m_camera.transform.SetParent(tfTarget);
- //});
- }
- public override void Exit()
- {
- base.Exit();
- m_camera.fieldOfView = fieldOfViewOriginal;
- m_camera.transform.SetParent(tfOriginalParent);
- }
- }
- }
|