public void LateUpdate() { if (DialogueManager.IsConversationActive) { //The character speaking CurrentConversantName = DialogueManager.CurrentConversationState.subtitle.speakerInfo.Name; //Find the speaking character in the scene try { ActiveConversant = Conversants.Where(hC => hC.gameObject.tag == CurrentConversantName).FirstOrDefault(); } catch (System.Exception) { throw new UnityException("Fix This pls!!!"); } //finally //{ // if (ActiveConversant == null) // NameColor = Color.black; //} if (ActiveConversant != null && ActiveConversant != PreviousConversant) { //get custom offset for speaking character CharInfo = ActiveConversant.GetComponent <CharacterGUIInfo>(); Transform HeadPosition = CharInfo.HeadPosition; NameColor = CharInfo.NameTextColor; Vector3 ScreenPos = KickStarter.mainCamera.attachedCamera._camera.WorldToScreenPoint(HeadPosition.position); if (GUIPositioner != null) { GUIPositioner.SetConversantGUI(ScreenPos); } PreviousConversant = ActiveConversant; } else if (ActiveConversant == null) { GUIPositioner.ResetGUI(); PreviousConversant = null; } } _Camera tmpCamera = KickStarter.mainCamera.attachedCamera; if (tmpCamera != currentCamera && CharInfo != null) { Transform HeadPosition = CharInfo.HeadPosition; Vector3 ScreenPos = KickStarter.mainCamera.attachedCamera._camera.WorldToScreenPoint(HeadPosition.position); if (GUIPositioner != null) { GUIPositioner.SetConversantGUI(ScreenPos); } lastCamera = currentCamera; currentCamera = tmpCamera; } }
void Awake() { Conversants = new List <GameObject>(); CurrentConversantName = "Not Set"; ActiveConversant = null; PreviousConversant = null; GUIPositioner = GameObject.Find("SYSTEM_DIALOGUEMANAGER").GetComponent <DialogueSystemGUIPositioner>(); NameColor = Color.black; currentCamera = KickStarter.mainCamera.attachedCamera; lastCamera = KickStarter.mainCamera.attachedCamera; }
public void SetGameCamera(_Camera _camera) { attachedCamera = _camera; if (attachedCamera is GameCamera) { GameCamera gameCam = (GameCamera)attachedCamera; cursorAffectsRotation = gameCam.followCursor; lookAtAmount = gameCam.cursorInfluence; } }
override public float Run() { if (!isRunning) { isRunning = true; MainCamera mainCam = GameObject.FindWithTag(Tags.mainCamera).GetComponent <MainCamera>(); if (mainCam) { _Camera cam = linkedCamera; if (returnToLast && mainCam.lastNavCamera) { cam = (_Camera)mainCam.lastNavCamera; } if (cam) { if (mainCam.attachedCamera != cam) { mainCam.SetGameCamera(cam); if (transitionTime > 0f) { mainCam.SmoothChange(transitionTime, moveMethod); if (willWait) { return(transitionTime); } } else { if (!returnToLast) { linkedCamera.MoveCameraInstant(); } mainCam.SnapToAttached(); } } } } } else { isRunning = false; } return(0f); }
public override void OnInspectorGUI() { _Camera _target = (_Camera)target; EditorGUILayout.HelpBox("Attach this script to a custom Camera type to integrate it with Adventure Creator.", MessageType.Info); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Depth of field", EditorStyles.boldLabel); _target.focalDistance = EditorGUILayout.FloatField("Focal distance", _target.focalDistance); EditorGUILayout.EndVertical(); if (GUI.changed) { EditorUtility.SetDirty(_target); } }
public void SetFirstPerson() { if (settingsManager) { if (settingsManager.controlStyle == ControlStyle.FirstPerson) { attachedCamera = GameObject.FindWithTag(Tags.firstPersonCamera).GetComponent <_Camera>(); SnapToAttached(); } } if (attachedCamera) { lastNavCamera = attachedCamera; } }