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); } } }
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())); } }
// 애니메이터 초기화 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(); }
public sealed override void Attack() { UnitAnimator.Play("Kong_Attack"); RockAttack(); }