Ader Alisma 01 fcc29ad88a Removed debuging comments
Fixed the behavior of WaveObserver when a monster dies
2023-08-06 18:51:27 -04:00

59 lines
1.1 KiB
C#

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<Rigidbody2D>();
Animation = gameObject.AddComponent<AnimationEntity>();
_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);
}
}