예제 #1
0
    /// <summary>
    /// 使用技能
    /// </summary>
    /// <param name="_playerActor">PlayerActor 实例</param>
    /// <param name="_myActor">MonsterActor 实例</param>
    public void UseSkill(PlayerActor _playerActor, MonsterActor _myActor)
    {
        Actor target = _playerActor;

        switch (this.subjectTo)
        {
        case Enum.SubjectToEnum.player:
            target = _playerActor;
            _playerActor.SanChange(this.sanValue);
            _playerActor.StaminaChange(this.staminaValue);
            break;

        case Enum.SubjectToEnum.enemy:
            target = _myActor;

            break;

        default:
            break;
        }

        if (this.buffId > -1)
        {
            BuffCreater.AddBuffToActor(target, this.buffId);
        }

        Debug.Log("[Monster Attck]");
    }
예제 #2
0
    /// <summary>
    /// 增加新buff到演员
    /// </summary>
    /// <param name="_actor">Actor 实例</param>
    /// <param name="_buffId">Buff Id</param>
    public static void AddBuffToActor(Actor _actor, int _buffId)
    {
        Buff theBuff = BuffCreater.Create(_buffId);

        if (theBuff == null)
        {
            return;
        }
        _actor.AddBuff(theBuff);
    }
예제 #3
0
    /// <summary>
    /// 使用卡牌
    /// </summary>
    /// <param name="_actor">Actor 实例</param>
    public void UseCard()
    {
        // 判断体力是否足够
        if (!this.CheckPlayerStamina())
        {
            // todo 提示无法使用的相关动作
            return;
        }



        // 调用事件
        if (this.useCardEvent != null)
        {
            this.useCardEvent();
        }

        Actor target = this.subjectTo == Enum.SubjectToEnum.enemy ? ControlManager.instance.monsterActor as Actor : ControlManager.instance.playerActor as Actor;

        // 向目标施加buff
        if (this.buffId > -1)
        {
            BuffCreater.AddBuffToActor(target, this.buffId);
        }

        // 对玩家进行San值变更
        ControlManager.instance.playerActor.SanChange(this.sanValue);

        if (target.id > -1 && this.changeMonsterId == target.id)
        {
            this.ChangeCard(this.changeCardId);
        }

        // 移除卡牌 如果必要的话
        this.RemoveCard();
    }