Beispiel #1
0
        public sealed override void Attack()
        {
            UnitAnimator.Play("Mushroom_Attack");

            Unit target;

            for (int i = -1; i < 1; i++)
            {
                target = TileManager.Instance.GetContainPlayerUnit(UnitPosition.x + i, UnitPosition.z - 1);
                if (target != null)
                {
                    SporeAttack(target);
                }

                target = TileManager.Instance.GetContainPlayerUnit(UnitPosition.x + i, UnitPosition.z);
                if (target != null)
                {
                    SporeAttack(target);
                }

                target = TileManager.Instance.GetContainPlayerUnit(UnitPosition.x + i, UnitPosition.z + 1);
                if (target != null)
                {
                    SporeAttack(target);
                }
            }
        }
Beispiel #2
0
        private IEnumerator SkeletonAttack()
        {
            UnitAnimator.Play("Skeleton_Attack");

            yield return(new WaitForSeconds(0.2f));

            if (Target != null && Target.HP > 0 && HP > 0)
            {
                SoundManager.Instance.PlaySfx("SkeletonHit", 0.2f);
                GameManager.Instance.EffectSystem.CreateEffect("SlashRed", gameObject.transform.position + new Vector3(0.5f, 0.5f, -0.2f), new Vector3(0.2f, 0.2f, 0.2f), Quaternion.Euler(new Vector3(90, 90, 0)), 2);
                GameManager.Instance.MessageSystem.Publish(DamageEvent.Create(this, Target, CalculateDamage()));
            }
        }
Beispiel #3
0
        // 애니메이터 초기화
        protected void ResetAnimator()
        {
            if (UnitAnimator == null)
            {
                UnitAnimator = this.gameObject.GetComponent <Animator>();
            }
            else
            {
                UnitAnimator.Rebind();
                UnitAnimator.Play("Idle");
            }
            gameObject.transform.GetComponent <SpriteRenderer>().material.color = new Color(1, 1, 1, 1);

            ResetBlinkCount();
        }
Beispiel #4
0
 public sealed override void Attack()
 {
     UnitAnimator.Play("Kong_Attack");
     RockAttack();
 }