private void Update() { if (Input.GetKeyDown(KeyCode.X)) { Debug.Log("x"); if (ActiveCamera == BoardGameCamera) { StartCoroutine(SwichingCamera(BattleGameCamera)); } else { StartCoroutine(SwichingCamera(BoardGameCamera)); } } //if (Input.GetKeyDown(KeyCode.C)) //{ // Debug.Log("c"); // ZoomInOut(ZoomValue);//ActiveCamera, //} //새로운 상태가 있으면 바꿔준다 if (cameraState != newCameraState) { cameraState = newCameraState; } }
private void ChangeState(CameraStateType cameraStateType) { switch (cameraStateType) { case CameraStateType.Idle: currentState = new CameraNomalState(animator); break; case CameraStateType.Damage: currentState = new CameraShakeState(animator); break; case CameraStateType.Skill_1: currentState = new CameraSkillActionState(animator); break; case CameraStateType.Skill_2: currentState = new CameraSkillActionState(animator); break; default: currentState = new CameraNomalState(animator); break; } }
public void SetFollowCameraState(GameObject target) { SimulatorManager.Instance?.UIManager?.ResetCinematicAlpha(); Debug.Assert(target != null); transform.SetParent(SimulatorManager.Instance?.CameraManager.transform); CurrentCameraState = CameraStateType.Follow; targetObject = target.transform; var vehicleActions = target.GetComponent <VehicleActions>(); if (vehicleActions != null) { BoundsY = vehicleActions.Bounds.size.y; BoundsZ = vehicleActions.Bounds.size.z; BoundsZ = BoundsZ < 1f ? 1f : BoundsZ; offset = new Vector3(0f, BoundsY, -BoundsZ); cinematicOffset = new Vector3(0f, BoundsY * 3f, 0f); } transform.position = targetObject.position; transform.rotation = targetObject.rotation; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; thisCamera.transform.localPosition = thisCamera.transform.InverseTransformPoint(targetObject.position) + offset; defaultFollow = true; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
public void SetCameraStateType(CameraStateType cameraStateType) { this.cameraStateType = cameraStateType; if (cameraStateType == CameraStateType.Orbit) { orbitState.Init(transform); } }
public void SetCinematicCameraState() { SimulatorManager.Instance.UIManager.SetEnvironmentButton(true); CurrentCameraState = CameraStateType.Cinematic; targetObject = SimulatorManager.Instance.AgentManager.CurrentActiveAgent.transform; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; }
//float ZoomValue; //Vector3 vector3; //배틀 카메라를 사용할때 비어있는 v3를 전달하기위해 선언함 public void InitializeCamera() { cloudAnimator = GameObject.FindWithTag("UICamera").GetComponentInChildren <Animator>(); BoardGameCamera = GameObject.FindWithTag("BoardCamera").GetComponent <GameCamera>(); BattleGameCamera = GameObject.FindWithTag("BattleCamera").GetComponent <GameCamera>(); //playerTransform = GameObject.FindWithTag(GlobalVariables.TAG_PLAYER).transform; ActiveCamera = BoardGameCamera; cameraState = CameraStateType.Idle; //vector3 = new Vector3(); }
public void SetFreeCameraState() { CurrentCameraState = CameraStateType.Free; targetObject = null; transform.position = thisCamera.transform.position; transform.rotation = thisCamera.transform.rotation; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; }
public void SetFreeCameraState() { CurrentCameraState = CameraStateType.Free; targetObject = null; transform.position = thisCamera.transform.position; transform.rotation = thisCamera.transform.rotation; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
public void SetCinematicCameraState() { SimulatorManager.Instance?.UIManager?.FadeOutIn(1f); CurrentCameraState = CameraStateType.Cinematic; targetObject = SimulatorManager.Instance.AgentManager.CurrentActiveAgent.transform; transform.position = targetObject.position + offset; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; elapsedCinematicTime = 0f; cinematicCameraTransforms = targetObject.GetComponent <VehicleActions>().CinematicCameraTransforms; RandomCinematicState(); SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
public void SetFollowCameraState(GameObject target) { Debug.Assert(target != null); CurrentCameraState = CameraStateType.Follow; targetObject = target.transform; transform.position = targetObject.position; transform.rotation = targetObject.rotation; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; thisCamera.transform.localPosition = thisCamera.transform.InverseTransformPoint(targetObject.position) + offset; defaultFollow = true; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; }
public void SetFreeCameraState(Vector3 pos, Vector3 rot) { SimulatorManager.Instance?.UIManager?.ResetCinematicAlpha(); transform.SetParent(SimulatorManager.Instance?.CameraManager.transform); CurrentCameraState = CameraStateType.Free; targetObject = null; transform.position = pos; transform.rotation = Quaternion.Euler(rot); thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
public void SetFollowCameraState(GameObject target) { SimulatorManager.Instance.UIManager.SetEnvironmentButton(false); Debug.Assert(target != null); CurrentCameraState = CameraStateType.Follow; targetObject = target.transform; transform.position = targetObject.position; transform.rotation = targetObject.rotation; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; thisCamera.transform.localPosition = thisCamera.transform.InverseTransformPoint(targetObject.position) + offset; defaultFollow = true; targetTiltFree = transform.eulerAngles.x; targetLookFree = transform.eulerAngles.y; SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
public void SetDriverViewCameraState() { SimulatorManager.Instance?.UIManager?.ResetCinematicAlpha(); CurrentCameraState = CameraStateType.Driver; targetObject = SimulatorManager.Instance.AgentManager.CurrentActiveAgent.transform; DriverViewCameraTransform = targetObject.GetComponent <IAgentController>().DriverViewTransform; if (DriverViewCameraTransform != null) { transform.SetParent(DriverViewCameraTransform); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; thisCamera.transform.localRotation = Quaternion.identity; thisCamera.transform.localPosition = Vector3.zero; } SimulatorManager.Instance.UIManager?.SetCameraButtonState(); }
private void ToggleFreeCinematicState() { CurrentCameraState = CurrentCameraState == CameraStateType.Cinematic ? CameraStateType.Free : CameraStateType.Cinematic; switch (CurrentCameraState) { case CameraStateType.Free: SetFreeCameraState(); break; case CameraStateType.Cinematic: SetCinematicCameraState(); break; default: break; } }
public override void Moving(Vector3 vector3, CameraStateType newCameraStateType) { if (cameraStateType != newCameraStateType) { ChangeState(newCameraStateType); currentState.CameraBehavior(); } if (vector3 == null) { Debug.Log("타겟이 없어서 타겟을 찾는다"); return; } else { Vector3 newPos = vector3 + cameraOffset; cameraObject.transform.position = Vector3.Slerp(cameraObject.transform.position, newPos, smooth); } }
/// <summary> /// API command to set camera state /// </summary> public void SetCameraState(CameraStateType state) { switch (state) { case CameraStateType.Free: CameraController.SetFreeCameraState(); break; case CameraStateType.Follow: CameraController.SetFollowCameraState(SimulatorManager.Instance.AgentManager.CurrentActiveAgent); break; case CameraStateType.Cinematic: CameraController.SetCinematicCameraState(); break; case CameraStateType.Driver: CameraController.SetDriverViewCameraState(); break; } }
public abstract void Moving(Vector3 vector3, CameraStateType cameraState);
/// <summary> /// Player에서 카메라의 상태를 변경함 /// </summary> /// <param name="cameraState"></param> public void ChangeState(CameraStateType cameraStateType) { cameraState = cameraStateType; }
public override CameraMoving CameraMoving(Vector3 vector3, CameraStateType cameraState) { cameraMoving.Moving(vector3, cameraState); return(cameraMoving); }
public void MovingCamera(Vector3 vector3, CameraStateType cameraState) { abstractCamera.CameraMoving(vector3, cameraState); }
bool Register(CameraState state, CameraStateType key) { return(Register(state, (int)key)); }
public void RequestCameraState(CameraStateType stateType) { _stateMachine.Dispatch((int)stateType); }
protected void Dispatch(CameraStateType key) { base.Dispatch((int)key); }
public void IncrementCameraState() { CurrentCameraState = (int)CurrentCameraState == System.Enum.GetValues(typeof(CameraStateType)).Length - 1 ? CameraStateType.Free : CurrentCameraState + 1; }
public override void Moving(Vector3 vector3, CameraStateType cameraState) { cameraObject.transform.Translate(new Vector3(vector3.x, 0, vector3.y), Space.World); }