Это довольно простой вопрос, у меня есть базовый класс, который реализует общие элементы GUI, и ряд дочерних классов, которые я хочу переопределить для данного метода, чтобы они могли реализовать свое собственное поведение на общем элементе управления (а именно, Кнопки «Предыдущая» и «Следующая»).
Итак, у меня есть это
public class MetalGUI : BaseGUI {
new protected void OnGUI()
{
base.OnGUI();
if(GUI.Button(prevRect, "BACK", "ButtonLeft"))
OnPrev();
if(GUI.Button(nextRect, "NEXT", "ButtonRight"))
OnNext();
}
virtual protected void OnPrev(){}
virtual protected void OnNext(){}
}
и это один из дочерних классов
public class MissionSelectGUI : MetalGUI {
new void OnGUI()
{
base.OnGUI();
}
new protected void OnPrev()
{
Application.LoadLevel("mainMenu");
}
new protected void OnNext()
{
Application.LoadLevel("selectPlayer");
}
}
(оба класса были удалены из материала, несущественного для этого случая)
Дело в том, что когда у меня создается элемент MissionSelectGUI
, OnPrev
и OnNext
на MetalGUI
вызывают вместо переопределенных методов. Почему это?