Пример #1
0
 //< 버프 적용
 void AffectBuff(float affectValue, System.Action <bool> _callback)
 {
     //< 스턴일경우에는 체크
     if ((BuffType)buffInfo.buffType == BuffType.Stun)
     {
         //< 상대가 푸쉬 상태라면 대기하고있음
         //if (Target.FSM.Current_State == UnitState.Push)
         //{
         //Caster.StartCoroutine(PushReadyUpdate(() =>
         //{
         //_callback(SkillAbility.BuffApplySkill(true, buffInfo, Caster, Target, affectValue, this));
         //}));
         //}
         //else
         _callback(SkillAbility.BuffApplySkill(true, buffInfo, Caster, Target, affectValue, this));
     }
     else
     {
         _callback(SkillAbility.BuffApplySkill(true, buffInfo, Caster, Target, affectValue, this));
     }
 }
Пример #2
0
    //< 버프를 완전히 제거 한다.
    public void DetachBuff()
    {
        Live = false;

        //< 적용된 능력 제거
        SkillAbility.BuffApplySkill(false, buffInfo, Caster, Target, affectedValue, this);
        DeleteUnit();

        //< 버프컨트롤러에서 삭제
        controller.DetachBuff(this);

        //< 이펙트가 있을시 삭제
        SetEffect(false);

        //< 무적관련 버프일경우에는 남아있는 무적 버프가있을시 이펙트를 켜준다.
        switch ((BuffType)buffInfo.buffType)
        {
        case BuffType.AllImmune:
        case BuffType.AttackImmune:
        case BuffType.SkillImmune:
            controller.SetImmuneEffect(true);
            break;
        }
    }