using System.Collections; using System.Collections.Generic; using UnityEngine; public class Opponent : Entity { private Vector2 _movementVector = Vector2.zero; private Rigidbody2D _rigidbody; private WaveObserver _observer; private int _index; public override void Start() { base.Start(); _rigidbody = GetComponent(); Animation = gameObject.AddComponent(); _observer = WaveObserver.Instance; _index = _observer.NotifyEnemy(transform.position.y); } void Update() { if(IsEnemyDetected) { AttackEnemy(); }else { _movementVector.x = -Time.deltaTime * Speed; transform.position += (Vector3)_movementVector; Move(); } } void AttackEnemy() { //Attack Cooldown if(AttackSpeed < AttackSpeedWait) { Animation.PlayAttackAnim(); AttackSpeedWait = 0f; } AttackSpeedWait += Time.deltaTime; } private void OnDisable() { _observer.NotifyDies(_index); } }