/// <summary>
        /// Applies the specified bound behavior to the player
        /// </summary>
        /// <param name="behavior">Behavior.</param>
        /// <param name="constrainedPosition">Constrained position.</param>
        protected virtual void ApplyBoundsBehavior(BoundsBehavior behavior, Vector2 constrainedPosition)
        {
            if ((_character == null) ||
                (LevelManager.Instance == null))
            {
                return;
            }

            if (behavior == BoundsBehavior.Kill)
            {
                if (_character.CharacterType == Character.CharacterTypes.Player)
                {
                    LevelManager.Instance.KillPlayer(_character);
                }
                else
                {
                    Health health = _character.gameObject.GetComponentNoAlloc <Health>();
                    if (health != null)
                    {
                        health.Kill();
                    }
                }
                return;
            }

            if (behavior == BoundsBehavior.Constrain)
            {
                transform.position = constrainedPosition;
                return;
            }
        }
        protected override void ApplyBoundsBehavior(BoundsBehavior behavior, Vector2 constrainedPosition)
        {
            _controller.State.TouchingLevelBounds = true;

            if ((_character == null) ||
                (LevelManager.Instance == null))
            {
                return;
            }

            if (behavior == BoundsBehavior.Kill)
            {
                if (_character.CharacterType == Character.CharacterTypes.Player)
                {
                    LevelManager.Instance.KillPlayer(_character);
                }
                else
                {
                    Health health = _character.gameObject.MMGetComponentNoAlloc <Health>();
                    if (health != null)
                    {
                        health.Damage(health.CurrentHealth, health.gameObject, 0.0f, 0.0f, Vector3.zero);
                        health.Kill();
                        //public virtual void Damage(int damage,GameObject instigator, float flickerDuration, float invincibilityDuration)
                    }
                }
                return;
            }

            if (behavior == BoundsBehavior.Constrain)
            {
                transform.position = constrainedPosition;
                return;
            }
        }
 private void ApplyBoundsBehavior(BoundsBehavior behavior, Vector2 constrainedPosition)
 {
     if (behavior == BoundsBehavior.Kill)
     {
         LevelManager.Instance.KillPlayer();
     }
     transform.position = constrainedPosition;
 }
Beispiel #4
0
    private void ApplyBoundsBehavior( BoundsBehavior behavior, Vector2 constrainedPosition )
    {
        if ( behavior == BoundsBehavior.Kill )
        {
            //Kill Player
        }

        transform.position = constrainedPosition;
    }
Beispiel #5
0
    /// <summary>
    /// Funkcja zabijająca gracza lub korygująca jego położenie,
    /// w zależności od wartości parametru behavior typu BoundsBehavior.
    /// </summary>
    /// <param name="behavior"></param>
    /// <param name="constrainedPosition"></param>
    private void ApplyBoundsBehavior(BoundsBehavior behavior, Vector2 constrainedPosition)
    {
        if (behavior == BoundsBehavior.Kill)
        {
            LevelManager.Instance.KillPlayer();
            return;
        }

        transform.position = constrainedPosition;
    }
Beispiel #6
0
 private void ApplyBoundsBehavior(BoundsBehavior behavior, Vector2 constrainedPosition)
 {
     if (behavior == BoundsBehavior.Kill)
     {
         _player.Health = 0;
         _player.CmdChangeTag("Die");
         _player.CmdKillPlayer();
     }
     transform.position = constrainedPosition;
 }