Пример #1
0
    public override void OnEnter()
    {
        AnimateCameraActionSettings animateCameraActionSettings = PlatformUtils.FindAspectRatioSettings(OverrideSettings);

        if (animateCameraActionSettings != null)
        {
            applySettings(animateCameraActionSettings);
        }
        dispatcher = Service.Get <EventDispatcher>();
        dispatcher.DispatchEvent(new CinematographyEvents.ChangeCameraContextEvent(Director.CameraContext.Cinematic, Curve.curve, Duration));
        Transform target   = null;
        Transform position = null;

        if (!string.IsNullOrEmpty(Target))
        {
            GameObject gameObject = GameObject.Find(Target);
            if (gameObject != null)
            {
                target = gameObject.transform;
            }
            else
            {
                Disney.LaunchPadFramework.Log.LogError(this, "SetCameraPositionAndTargetAction: Unable to find Camera Target called " + Target);
            }
        }
        if (!string.IsNullOrEmpty(Position))
        {
            GameObject gameObject = GameObject.Find(Position);
            if (gameObject != null)
            {
                position = gameObject.transform;
            }
            else
            {
                Disney.LaunchPadFramework.Log.LogError(this, "SetCameraPositionAndTargetAction: Unable to find Camera Anchor called " + Position);
            }
        }
        int posAnimTrigger = 0;

        if (!string.IsNullOrEmpty(PositionAnimTrigger))
        {
            posAnimTrigger = Animator.StringToHash(PositionAnimTrigger);
        }
        int targetAnimTrigger = 0;

        if (!string.IsNullOrEmpty(TargetAnimTrigger))
        {
            targetAnimTrigger = Animator.StringToHash(TargetAnimTrigger);
        }
        if (WaitForCompletion)
        {
            dispatcher.AddListener <ScriptedCameraEvents.CameraCompleted>(onCameraCompleted);
        }
        dispatcher.DispatchEvent(new ScriptedCameraEvents.SetCameraEvent(position, target, posAnimTrigger, targetAnimTrigger, TargetOffset, Curve.curve, Duration, WaitForCompletion));
        if (!WaitForCompletion)
        {
            Finish();
        }
    }
Пример #2
0
    private void Awake()
    {
        AspectRatioPrefabLoaderSettings aspectRatioPrefabLoaderSettings = PlatformUtils.FindAspectRatioSettings(runtimeSettings);

        if (aspectRatioPrefabLoaderSettings == null || aspectRatioPrefabLoaderSettings.ContentKeys == null)
        {
            return;
        }
        for (int i = 0; i < aspectRatioPrefabLoaderSettings.ContentKeys.Length; i++)
        {
            if (aspectRatioPrefabLoaderSettings.ContentKeys[i] != null && !string.IsNullOrEmpty(aspectRatioPrefabLoaderSettings.ContentKeys[i].Key))
            {
                Content.LoadAsync(onPrefabLoaded, aspectRatioPrefabLoaderSettings.ContentKeys[i]);
            }
        }
    }
        public override void OnEnter()
        {
            ChangeCameraTargetActionSettings changeCameraTargetActionSettings = PlatformUtils.FindAspectRatioSettings(OverrideSettings);

            if (changeCameraTargetActionSettings != null)
            {
                applySettings(changeCameraTargetActionSettings);
            }
            GameObject gameObject = null;

            if (!string.IsNullOrEmpty(TargetName))
            {
                gameObject = GameObject.Find(TargetName);
            }
            else if (TargetGameObject != null)
            {
                gameObject = base.Fsm.GetOwnerDefaultTarget(TargetGameObject);
            }
            if (gameObject != null)
            {
                Service.Get <EventDispatcher>().DispatchEvent(new CinematographyEvents.ChangeCameraTarget(gameObject.transform));
            }
            Finish();
        }
Пример #4
0
 protected override TSettings getRuntimeSettings()
 {
     return(PlatformUtils.FindAspectRatioSettings(runtimeSettings));
 }
Пример #5
0
    public override void OnEnter()
    {
        ChangeCameraActionSettings changeCameraActionSettings = PlatformUtils.FindAspectRatioSettings(OverrideSettings);

        if (changeCameraActionSettings != null)
        {
            applySettings(changeCameraActionSettings);
        }
        dispatcher           = Service.Get <EventDispatcher>();
        controllerGameObject = GameObject.Find(ControllerName);
        if ((bool)controllerGameObject)
        {
            controller = controllerGameObject.GetComponent <CameraController>();
        }
        else
        {
            Disney.LaunchPadFramework.Log.LogError(this, "Unable to find Camera Setup called " + ControllerName);
        }
        if (controller == null)
        {
            Disney.LaunchPadFramework.Log.LogError(this, "Provided GameObject " + ControllerName + " does not contain a controller, but one is required.");
            Finish();
        }
        else if (!WaitForCameraToComplete && ResetOnExit)
        {
            Finish();
        }
        else
        {
            CinematographyEvents.CameraLogicChangeEvent evt = default(CinematographyEvents.CameraLogicChangeEvent);
            originalCameraPriority = controller.Priority;
            if (!PreserveCameraPriority)
            {
                controller.Priority = defaultAdventureCameraPriority;
            }
            controller.IsScripted  = true;
            evt.Controller         = controller;
            evt.DisablePostEffects = true;
            evt.ForceCutTransition = ForceCutTransition;
            dispatcher.DispatchEvent(evt);
        }
        if (StoreOriginalCameraPosition != null && StoreOriginalCameraPosition.Value != Vector3.zero)
        {
            StoreOriginalCameraPosition.Value = controllerGameObject.transform.position;
        }
        if (CameraPosition != null && CameraPosition.Value != Vector3.zero)
        {
            controllerGameObject.transform.position = CameraPosition.Value;
        }
        if (!string.IsNullOrEmpty(TargetName))
        {
            GameObject gameObject = GameObject.Find(TargetName);
            if (gameObject != null)
            {
                Service.Get <EventDispatcher>().DispatchEvent(new CinematographyEvents.ChangeCameraTarget(gameObject.transform));
            }
        }
        if (!WaitForCameraToComplete)
        {
            Finish();
        }
    }