// ----------------------------------------------------------------------------------------------------
        #endregion

        #region Initialization
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called upon awaking this behavior.
        /// </summary>
        private void Awake()
        {
            this.movementController  = this.GetComponent <MovementController>();
            this.collisionController = this.GetComponent <ActorCollisionController>();

            this.hasGravitationalObject = false;

            this.collisionController.OnTriggerCollision += (collision) => {
                var collisionGravity = collision.GetComponent <CollisionGravity>();
                if (collisionGravity != null)
                {
                    this.gravitationalObject    = collisionGravity;
                    this.gravicationalTransform = collisionGravity.transform;
                    this.hasGravitationalObject = collisionGravity.IsActive;
                }
            };

            this.collisionController.OnTriggerCollisionExit += (collision) => {
                if (this.hasGravitationalObject)
                {
                    var collisionGravity = collision.GetComponent <CollisionGravity>();
                    if (this.gravitationalObject == collisionGravity)
                    {
                        this.gravitationalObject    = null;
                        this.gravicationalTransform = null;
                        this.hasGravitationalObject = false;
                    }
                }
            };
        }
Esempio n. 2
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Initialization
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called upon awaking this behavior.
        /// </summary>
        private void Awake()
        {
            this.playerController    = this.GetComponent <PlayerController>();
            this.collisionController = this.GetComponent <ActorCollisionController>();

            this.collisionController.OnTriggerCollision += (collisionTarget) => {
                var collisionPickup = collisionTarget.GetComponent <CollisionPickup>();
                if (collisionPickup != null)
                {
                    this.playerController.AddScore(collisionPickup.Score);
                }
            };
        }
Esempio n. 3
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Initialization
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called upon awaking this behavior.
        /// </summary>
        private void Awake()
        {
            this.playerController    = this.GetComponent <PlayerController>();
            this.collisionController = this.GetComponent <ActorCollisionController>();
            this.cameraShakeEffect   = this.GetComponent <CameraShakeEffect>();

            this.collisionController.OnTriggerCollision += (collisionTarget) => {
                var collisionDamage = collisionTarget.GetComponent <CollisionDamage>();
                if (collisionDamage != null)
                {
                    this.playerController.Damage(collisionDamage.Damage);
                    this.OnReceivedDamage?.Invoke(collisionDamage);
                    this.cameraShakeEffect.Shake();
                }
            };
        }
Esempio n. 4
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Initialization
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called upon awaking this behavior.
        /// </summary>
        private void Awake()
        {
            this.collisionController = this.GetComponent <ActorCollisionController>();

            this.collisionController.OnTriggerCollision += (collisionTarget) => {
                var puzzleBlock = collisionTarget.GetComponent <PuzzleBlockController>();
                if (puzzleBlock != null)
                {
                    if (CollisionUtils.IsObjectInsideTile(transform.position, puzzleBlock.transform.position))
                    {
                        this.IsActivated = true;
                        puzzleBlock.SetActivation(true);
                    }
                    else
                    {
                        this.IsActivated = false;
                        puzzleBlock.SetActivation(false);
                    }
                }
            };
        }
Esempio n. 5
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Initialization
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called upon awaking this behavior.
        /// </summary>
        private void Awake()
        {
            this.inputController  = this.GetComponent <InputController>();
            this.playerController = this.GetComponent <PlayerController>();

            this.collisionController = this.GetComponent <ActorCollisionController>();
            this.collisionController.OnTriggerCollision += (collisionTarget) => {
                var target = collisionTarget.GetComponent <InteractionTarget>();
                if (target != null)
                {
                    this.interactionTarget    = target;
                    this.hasInteractionTarget = target.IsActive;
                }
            };

            this.collisionController.OnTriggerCollisionExit += (collisionTarget) => {
                var target = collisionTarget.GetComponent <InteractionTarget>();
                if (this.interactionTarget == target)
                {
                    this.interactionTarget    = null;
                    this.hasInteractionTarget = false;
                }
            };
        }
Esempio n. 6
0
 /// <summary>
 /// Collider exits the trigger.
 /// </summary>
 public void ExitTrigger(ActorCollisionController collisionController)
 {
     this.OnTriggerCollisionExit?.Invoke(collisionController);
 }
Esempio n. 7
0
        // ----------------------------------------------------------------------------------------------------
        #endregion

        #region Collision Methods
        // ----------------------------------------------------------------------------------------------------
        /// <summary>
        /// Called on trigger collision.
        /// </summary>
        public void CollideTrigger(ActorCollisionController collisionController)
        {
            this.OnTriggerCollision?.Invoke(collisionController);
        }