Как вызвать метод скрипта в состоянии, которое не привязано к игровому объекту, не вызывая его из другого скрипта?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как вызвать метод скрипта в состоянии, которое не привязано к игровому объекту, не вызывая его из другого скрипта?

Сообщение Anonymous »

Цель этого скрипта — увеличить количество врагов, которые появляются после того, как все они будут убиты. Мой вопрос в том, есть ли способ вызвать этот скрипт (например, вызвать его через [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]) но при условии, например, когда количество врагов равно нулю. Также необходимо, чтобы метод не был статическим, поскольку мне нужно иметь доступ к переменной level.
Я знаю, что это можно сделать, ссылаясь на него в любом скрипте, который прикреплен к gameObject, но мне это кажется плохим дизайном кода, так почему скрипт, созданный для движения игрока, должен знать о скрипте, созданном для появления врагов и т. д.
class EnemySpawning
{
public int level = 1;

public void Spawning()
{
if (SceneManager.GetActiveScene().name == "Game")
{
GameObject enemyObject = Resources.Load("BasicEnemy", typeof(GameObject)) as GameObject;

int enemyQuantity = 3 * level;

int minSpawnX = -3;
int maxSpawnX = 3;
int minSpawnY = 2;
int maxSpawnY = 5;

for (int i = 0; i < enemyQuantity; i++)
{
int xPos = Convert.ToInt32(Mathf.Round(UnityEngine.Random.Range(minSpawnX, maxSpawnX)));
int yPos = Convert.ToInt32(Mathf.Round(UnityEngine.Random.Range(minSpawnY, maxSpawnY)));

GameObject.Instantiate(enemyObject, new Vector3(xPos, yPos), new Quaternion());
}

level += 1;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... ed-to-a-ga
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»