Ejemplo n.º 1
0
 void Awake()
 {
     anim = GetComponent <Animator> ();
     playerAudio = GetComponent <AudioSource> ();
     playerMovement = GetComponent <PlayerMovement> ();
     currentHealth = startingHealth;
     currentShield = startingShield;
     shieldAction = new ShieldAction (this.transform);
 }
Ejemplo n.º 2
0
 void Awake()
 {
     anim           = GetComponent <Animator> ();
     playerAudio    = GetComponent <AudioSource> ();
     playerMovement = GetComponent <PlayerMovement> ();
     currentHealth  = startingHealth;
     currentShield  = startingShield;
     shieldAction   = new ShieldAction(this.transform);
 }
Ejemplo n.º 3
0
        public IEnumerator Skill()
        {
            if (_spawnedTime >= skillCastedTime + effectCooltime)
            {
                var targets = new List <Minion>();
                //Hack: EffectDuration이지만 성장치 적용을 위해 스킬범위로 사용중
                var skillDistance = (ActorProxy as DiceActorProxy).diceInfo.effectDurationTime;
                var cols          = Physics.OverlapSphere(transform.position, skillDistance, targetLayer);
                // Debug(transform.position, skillDistance).Forget();

                foreach (var col in cols)
                {
                    var minion = col.GetComponentInParent <Minion>();
                    if (minion != null && minion.CanBeTarget())
                    {
                        targets.Add(minion);
                    }
                }

                if (targets.Any() == false)
                {
                    yield break;
                }

                //TODO: 호스트모드 플레이 시 AddBuff에서 CC가 추가되면 AI를 재시작한다. 따라서 재귀가 반복될 수 있다. 다른 대안을 강구할 것.
                skillCastedTime = _spawnedTime;

                var duration = ActorProxy.effect;

                foreach (var target in targets)
                {
                    target.ActorProxy.AddBuffWithNetId(BuffInfos.Taunted, ActorProxy.NetId, duration);
                }

                var action = new ShieldAction();
                yield return(action.ActionWithSync(ActorProxy));
            }
        }