Размещение значений при наследовании

Всем привет :) В игре будет 2 спавнера - один для противников, другой для бонусов. Создала абстрактный класс BaseSpawner, от которого наследуются EnemySpawner и BonusSpawener. У Enemy скорость изменяется пропорционально (не превышая максимального значения) счету, а у Bonus скорость постоянна.

public abstract class BaseSpawner : MonoBehaviour
{
    [SerializeField] GameObject prefab;

    private List<float> roads;
    private float roadWidth;
    private GameObject newUnit;

    private void Start()
    {
        roadWidth = Config.RoadWidth;
        roads = new List<float> { -roadWidth, 0, roadWidth };
    }

    protected abstract float GetDelay();

    protected abstract float GetSpeed();

    private void SetRandomPosition()
    {
        float randomRoad = roads[new System.Random().Next(roads.Count)];
        Vector2 newPosition = new Vector2(randomRoad, transform.position.y);
        transform.position = newPosition;
    }

        IEnumerator GetUnit()
    {
        while (true) 
        {
            yield return new WaitForSeconds(GetDelay());
            SetRandomPosition();

            newUnit = Instantiate(prefab, transform.position, Quaternion.identity);
            newUnit.GetComponent<BaseUnit>().SetSpeed(GetSpeed());
        }
    }
}
public class EnemySpawner : BaseSpawner
{
    
    protected override float GetDelay()
    {
        throw new System.NotImplementedException();
    }

    protected override float GetSpeed()
    {
        throw new System.NotImplementedException();
    }
}

У бонусов будет аналогичный код

Все значения находятся в Config

public class Config : MonoBehaviour
{
    public static float RoadWidth = 1.5f;

    public static float PlayerSpeed = 0.2f;

    public static float EnemyMinSpeed = 4f;
    public static float EnemyMaxSpeed = 18f;

    public static float BonusSpeed = 4f;
}

Вопрос в следующем - где должны инициализироваться значения скорости, чтобы их можно было получить из GetSpeed класса EnemySpawner?

Всем спасибо за помощь :) Хорошего дня :)


Ответы (0 шт):