Привет у меня есть этот код:C# Unity Engine уничтожить() подкласс
public abstract class Test : MonoBehaviour
{
public abstract void OnStart();
public abstract void OnUpdate();
private void Start()
{
OnStart();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.X))
{
Destroy(this);
}
OnUpdate()
}
}
то я имею это:
public class SecondTest : Test
{
public override void OnStart()
{
}
public override void OnUpdate()
{
Writter.Log("Running");
}
}
Однако всякий раз, когда я нажимаю X, мой writter держит протоколирование, похоже, экземпляр «Тест» уничтожается, но не мой «SecondTest» есть ли способ решить это? Спасибо!
У вас есть код, который вы можете показать нам, который на самом деле компилируется? –
@RobertHarve код на самом деле довольно большой, но это единственная часть, на которой я работаю в настоящий момент, после добавления Input.GetKeydown я добавил отпечатки, а уничтожение получилось правильно, но не уничтожило подкласс. Я пытаюсь выяснить, действительно ли я сделал ошибку, но код действительно прост – CheekyLewb
Ну, как минимум, я думаю, нам нужно будет увидеть код для 'Destroy()'. Существует ли «Писатель»? (Вы опечалили его). Имеет ли значение, что вы называете Destroy в первом классе, но не вторым? –