protected override void Act() { transform.rotation = new Quaternion(); transform.position = new Vector3(); instantiatedObject = Instantiate(new GameObject(), new Vector3(), new Quaternion()) as GameObject; instantiatedObject.name = "ActorCameraAnimation_" + name; fadeInFadeOut = instantiatedObject.AddComponent <FadeInFadeOut>(); //cameraToAnimate.cullingMask = cameraCullingMask; //cameraToAnimate.farClipPlane = 500; //cameraToAnimate.depth = cameraDepth; animate = instantiatedObject.AddComponent <Animation>(); var cameraToAnimate = instantiatedObject.AddComponent <LogicCameraFromGameObject>(); animate.AddClip(cameraAnimation, cameraAnimation.name); animate.Play(cameraAnimation.name); animate[cameraAnimation.name].enabled = true; cameraToAnimateHandle = actingInScene.GetPlayerNotifications().AddCameraToStack(cameraToAnimate, "ActorCameraAnimation"); ChildListenerToCameraAnimation(); isActing = true; if (fadeIn) { fadeInFadeOut.FadeIn(fadeDuration); } }
public override void Dispose() { Destroy(instantiatedObject); instantiatedObject = null; KickoutListenerFromCameraAnimation(); actingInScene.GetPlayerNotifications().RemoveCameraFromStack(cameraToAnimateHandle); cameraToAnimateHandle = null; base.Dispose(); }
public void RemoveCameraFromStack(PlayerInteraction.CameraItem cameraItem) { player.playerInteraction.RemoveCameraFromStack(cameraItem); }