void Update() { if (TargetCamera != null) { Vector3 fwd = Vector3.Normalize(transform.position - TargetCamera.transform.position); if (Vector3.Dot(fwd, m_BaseForward) > 0) { transform.forward = m_BaseForward; } else { transform.forward = -m_BaseForward; } } if (VirtualCameraManger == null) { VirtualCameraManger = Manager.Get <VirtualCameraManager>(); } if (VirtualCameraManger == null) { Debug.LogWarning("Virtual Camera Manager not present."); return; } if (Vector3.Distance(VirtualCameraManger.transform.position, transform.position) < ShowDistance) { m_Visibility += Time.deltaTime / ShowDuration; } else { m_Visibility -= Time.deltaTime / HideDuration; } m_Visibility = Mathf.Clamp(m_Visibility, 0, 1); if (m_Visibility == 0) { Panel.Root.SetActive(false); } else { Vector2 scale = new Vector2(PanelSizeXAnimation.Evaluate(m_Visibility), PanelSizeYAnimation.Evaluate(m_Visibility)); Panel.Root.SetActive(true); Panel.Size = new Vector2(scale.x * m_DefaultSize.x, scale.y * m_DefaultSize.y); Panel.PanelColor = m_DefaultPanelColor * PanelColorAnimation.Evaluate(m_Visibility); Panel.TitleColor = m_DefaultTitleColor * TextColorAnimation.Evaluate(m_Visibility); Panel.BodyColor = m_DefaultBodyColor * TextColorAnimation.Evaluate(m_Visibility); Panel.Layout(); foreach (var obj in Panel.OtherSubObjects) { obj.transform.localScale = new Vector3(scale.x, scale.y, 1); //if (m_Visibility == 1 && !obj.activeSelf) obj.SetActive(true); //if (m_Visibility < 1 && obj.activeSelf) obj.SetActive(false); } } }
public CinemachineVirtualCameraBase GetCamera(VirtualCameraManager _manager, int _ind) { var sw = GetSwitch(_manager); if (sw != null) { return(sw.GetCamera(_ind)); } return(null); }
void DeactivateOthers(VirtualCameraManager _manager) { for (int i = 0; i < cinemachineSwitches.Length; i++) { var sw = cinemachineSwitches[i]; if (_manager != sw.Manager) { sw.DeactivateAllCameras(); } } }
void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } }
void Start() { PanelColorAnimation = DefaultGradient(); TextColorAnimation = DefaultGradient(); m_DefaultSize = Panel.Size; m_DefaultPanelColor = Panel.PanelColor; m_DefaultTitleColor = Panel.TitleColor; m_DefaultBodyColor = Panel.BodyColor; VirtualCameraManger = Manager.Get <VirtualCameraManager>(); m_BaseForward = transform.forward; TargetCamera = VirtualCameraManger.Camera; }
CinemachineSwitch GetSwitch(VirtualCameraManager _manager) { for (int i = 0; i < cinemachineSwitches.Length; i++) { var sw = cinemachineSwitches[i]; if (_manager == sw.Manager) { return(sw); } } Debug.LogError("could not find switch with manager: " + _manager); return(null); }
private void Awake() { if (_instance == null) { _instance = this; } else { Debug.LogWarning("Multiple VCAM managers present!"); } _virtualCameras = GameObject.FindGameObjectsWithTag(_identifierTag); ToggleVCam(_defaultVirtualCamera); }
private void Awake() { if (instance == null) { instance = this; } else { Destroy(gameObject); } mainCamera = Camera.main; _virtualCameras = this.GetComponentsInChildren <VirtualCameraBhv>(); }
public void SwitchCamera(VirtualCameraManager _manager, int _ind, bool _ignorePriority = false, System.Action _successCallback = null) { var sw = GetSwitch(_manager); if (sw != null) { if (!_ignorePriority) { if (!IsHigherPriority(sw)) { return; } } curPriority = sw.Priority; sw.SwitchCamera(_ind); DeactivateOthers(_manager); if (_successCallback != null) { _successCallback.Invoke(); } } }
public void Start() { m_VCM = Manager.Get <VirtualCameraManager>(); m_Char = GetComponent <CharacterController>(); m_Animator = GetComponent <Animator>(); }
private void Start() { m_VCM = Manager.Get <VirtualCameraManager>(); }