private void Awake() { _camera = GetComponent <OWCamera>(); _audioListener = GetComponent <AudioListener>(); _viewerImageEffect = _camera.GetComponent <NomaiViewerImageEffect>(); _owningPlatform = GetComponentInParent <CustomNomaiRemoteCameraPlatform>(); enabled = false; }
private void UpdatePools(float target, float length) { _poolT = Mathf.MoveTowards(_poolT, target, Time.deltaTime / length); if (OWMath.ApproxEquals(_poolT, target)) { if (_slavePlatform != null && target == 0f) { _slavePlatform = null; } return; } UpdatePoolRenderer(); _slavePlatform._poolT = _poolT; _slavePlatform.UpdatePoolRenderer(); }
private void LateUpdate() { if (_owningPlatform == null) { _owningPlatform = GetComponentInParent <CustomNomaiRemoteCameraPlatform>(); } if (_owningPlatform != null && _controllingPlatform != null) { transform.position = CustomNomaiRemoteCameraPlatform.TransformPoint(_controllingCamera.transform.position, _controllingPlatform, _owningPlatform); transform.rotation = CustomNomaiRemoteCameraPlatform.TransformRotation(_controllingCamera.transform.rotation, _controllingPlatform, _owningPlatform); _camera.fieldOfView = _controllingCamera.fieldOfView; } else { enabled = false; } }
private void OnSocketableDonePlacing(OWItem socketable) { _platformActive = true; _sharedStone = socketable as SharedStone; if (_sharedStone == null) { Debug.LogError("Placed an empty item or a non SharedStone in a NomaiRemoteCameraPlatform"); } _slavePlatform = GetPlatform(_sharedStone.GetRemoteCameraID()); if (_slavePlatform == null) { Debug.LogError("Shared stone with Remote Camera ID: " + _sharedStone.GetRemoteCameraID() + " has no registered camera platform!"); } if (_slavePlatform == this || !_slavePlatform.gameObject.activeSelf) { _sharedStone = null; _slavePlatform = null; return; } _transitionStone.SetActive(true); _slavePlatform._transitionStone.SetActive(true); _socket.GetPedestalAnimator().PlayClose(); if (_transitionPedestalAnimator != null) { _transitionPedestalAnimator.PlayClose(); } if (_slavePlatform._pedestalAnimator != null) { _slavePlatform._pedestalAnimator.PlayClose(); } if (_slavePlatform._transitionPedestalAnimator != null) { _slavePlatform._transitionPedestalAnimator.PlayClose(); } enabled = true; }
public static Quaternion TransformRotation(Quaternion worldRot, CustomNomaiRemoteCameraPlatform from, CustomNomaiRemoteCameraPlatform to) { var rhs = from.transform.InverseTransformRotation(worldRot); return(to.transform.rotation * rhs); }
public static Vector3 TransformPoint(Vector3 worldPos, CustomNomaiRemoteCameraPlatform from, CustomNomaiRemoteCameraPlatform to) { var position = from.transform.InverseTransformPoint(worldPos); return(to.transform.TransformPoint(position)); }
public void Deactivate() { _controllingPlatform = null; enabled = false; }
public void Activate(CustomNomaiRemoteCameraPlatform controllingPlatform, OWCamera viewer) { _controllingPlatform = controllingPlatform; _controllingCamera = viewer; enabled = true; }