Esempio n. 1
0
        public override void FirstExecution()
        {
            base.FirstExecution();

            if (this.DeflectingProjectileInteractiveObjectActionInput.AssociatedInteractiveObject is IEM_DeflectingProjectileAction_WorkflowEventListener IEM_DeflectingProjectileAction_WorkflowEventListener)
            {
                IEM_DeflectingProjectileAction_WorkflowEventListener.OnDeflectingProjectileInteractiveObjectActionExecuted(
                    this.DeflectingProjectileInteractiveObjectActionInput.DeflectingProjectileInteractiveObjectActionInherentData);
            }

            foreach (var insideInteractiveObject in this.DeflectingProjectileInteractiveObjectActionInput.ProjectileDeflectionTrackingInteractiveObjectActionRef.GetInsideDeflectableInteractiveObjects())
            {
                if (insideInteractiveObject.AskIfProjectileCanBeDeflected(this.DeflectingProjectileInteractiveObjectActionInput.AssociatedInteractiveObject))
                {
                    insideInteractiveObject.InteractiveObjectDeflected(this.DeflectingProjectileInteractiveObjectActionInput.AssociatedInteractiveObject);
                    if (this.DeflectingProjectileInteractiveObjectActionInput.DeflectingProjectileInteractiveObjectActionInherentData.OnDeflectionParticles != null)
                    {
                        this.DeflectingProjectileInteractiveObjectActionInput.DeflectingProjectileInteractiveObjectActionInherentData.OnDeflectionParticles
                        .BuildParticleObject("ProjectileDeflectionParticles", null, insideInteractiveObject.InteractiveGameObject.GetTransform().WorldPosition,
                                             Quaternion.Euler(insideInteractiveObject.InteractiveGameObject.GetTransform().WorldRotationEuler));
                    }

                    if (this.DeflectingProjectileInteractiveObjectActionInput.AssociatedInteractiveObject is IPlayerInteractiveObject IPlayerInteractiveObject)
                    {
                        IPlayerInteractiveObject.SetConstraintForThisFrame(new LookDirectionConstraint(Quaternion.Euler(insideInteractiveObject.InteractiveGameObject.GetTransform().WorldRotationEuler)));
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Called from <see cref="PlayerInteractiveObjectCreatedEvent"/>.
        /// </summary
        protected virtual void OnPlayerInteractiveObjectCreated(IPlayerInteractiveObject IPlayerInteractiveObject)
        {
            //set initial position
            this.CameraPivotPointTransform[0].position = IPlayerInteractiveObject.InteractiveGameObject.InteractiveGameObjectParent.transform.position;

            this._cameraFollowSystem = new CameraFollowSystem(IPlayerInteractiveObject.InteractiveGameObject.InteractiveGameObjectParent.transform,
                                                              CameraConfigurationGameObject.Get().CameraMovementConfiguration.CameraFollowManagerComponent);

            var CameraMovementJobStateStruct = this.CameraMovementJob.GetCameraMovementJobState();

            CameraMovementJobStateStruct.CameraObject.Initialize(CameraPivotPointTransform[0], MainCamera);
            this._cameraFollowSystem.InitState(ref CameraMovementJobStateStruct);
            this.CameraMovementJob.SetCameraMovementJobState(CameraMovementJobStateStruct);
        }
Esempio n. 3
0
 public void OnPlayerInteractiveObjectCreated(IPlayerInteractiveObject IPlayerInteractiveObject)
 {
     this.OnPlayerInteractiveObjectCreatedEvent?.Invoke(IPlayerInteractiveObject);
 }
Esempio n. 4
0
 public override RTPPlayerAction BuildPlayerAction(IPlayerInteractiveObject PlayerInteractiveObject)
 {
     return(new GrabObjectAction(this.AddedPlayerActionInherentData.BuildPlayerAction(PlayerInteractiveObject), this.CorePlayerActionDefinition));
 }
Esempio n. 5
0
 public abstract RTPPlayerAction BuildPlayerAction(IPlayerInteractiveObject PlayerInteractiveObject);
Esempio n. 6
0
 public PlayerObjectOrientationSystem(IPlayerInteractiveObject PlayerInteractiveObjectRef,
                                      FiringPlayerActionTargetSystem FiringPlayerActionTargetSystemRef)
 {
     this.PlayerInteractiveObjectRef        = PlayerInteractiveObjectRef;
     this.FiringPlayerActionTargetSystemRef = FiringPlayerActionTargetSystemRef;
 }
Esempio n. 7
0
 public void OnPlayerInteractiveObjectCreated(IPlayerInteractiveObject PlayerInteractiveObject)
 {
     this.PlayerInteractiveObject = (PlayerInteractiveObject)PlayerInteractiveObject;
 }
Esempio n. 8
0
 public override RTPPlayerAction BuildPlayerAction(IPlayerInteractiveObject PlayerInteractiveObject)
 {
     return(new DummyPlayerAction(CorePlayerActionDefinition));
 }
Esempio n. 9
0
 protected override void OnPlayerInteractiveObjectCreated(IPlayerInteractiveObject IPlayerInteractiveObject)
 {
 }