public void OnMMEvent(EnemyReachedEndPositon eventType) { var damage = eventType.Enemy.Damage; PlayerHp -= (int)damage; if (PlayerHp <= 0) { PlayerHp = 0; GameOver(); } PlayerHpChanged.Trigger((int)damage); }
private IEnumerator MoveByWayPoints(Queue <Vector3> waypoints) { var count = waypoints.Count; for (var i = 0; i < count; i++) { var lastPosition = transform.position; var currentTarget = waypoints.Dequeue(); float t = 0; while (transform.position != currentTarget) { t += (Time.deltaTime * currentSpeed) / (lastPosition - currentTarget).magnitude; transform.position = Vector3.Lerp(lastPosition, currentTarget, t); yield return(null); } } EnemyReachedEndPositon.Trigger(this); }
public void OnMMEvent(EnemyReachedEndPositon reachedEnemy) { ReturnEnemyToPool(reachedEnemy.Enemy); }