コード例 #1
0
    public bool OnBeforeMove()
    {
        bool canPerformMove = true;

        if (Status?.OnBeforeMove != null)
        {
            if (!Status.OnBeforeMove(this))
            {
                canPerformMove = false;
            }
        }
        if (VolatileStatus?.OnBeforeMove != null)
        {
            if (!VolatileStatus.OnBeforeMove(this))
            {
                canPerformMove = false;
            }
        }

        return(canPerformMove);
    }
コード例 #2
0
    public bool OnBeforeAbility()
    {
        bool canPreformAbility = true;

        if (Status?.OnBeforeAbility != null)
        {
            if (!Status.OnBeforeAbility(this))
            {
                canPreformAbility = false;
            }
        }

        if (VolatileStatus?.OnBeforeAbility != null)
        {
            if (!VolatileStatus.OnBeforeAbility(this))
            {
                canPreformAbility = false;
            }
        }

        return(canPreformAbility);
    }
コード例 #3
0
ファイル: MonsterObj.cs プロジェクト: trdillon/ravar
        /// <summary>
        /// Checks if monster can attack this turn.
        /// </summary>
        /// <returns>True if monster can attack or false if not.</returns>
        public bool CheckIfCanAttack()
        {
            var canAttack = true;

            if (Status?.OnTurnStart != null)
            {
                if (!Status.OnTurnStart(this))
                {
                    canAttack = false;
                }
            }

            if (VolatileStatus?.OnTurnStart == null)
            {
                return(canAttack);
            }

            if (!VolatileStatus.OnTurnStart(this))
            {
                canAttack = false;
            }

            return(canAttack);
        }