вставить в Object Wildcard, что сюда нужно подключить? Я делаю каст из павна
Каст - это попытка получить дочерний класс из базового (в твоём случае). Pawn никогда не будет UI (UserWidget) GetController -> CastTo "YourPlayerController" -> GetHud() -> CastTo "UMG_Player_UI"
Классы - это "шаблоны", по которым собираются объекты, в которых описаны данные (свойства с типами) и поведение (функции с сигнатурами). Объекты - это экземпляры классов, под которых выделена память, в которых уже есть значения для описанных в классе данных.
это просто приведение типов. если получается, то получаешь его эекземпляр.
Всё верно, но ты думаешь я этого не знаю? Тут у человека проблема, он не понимает, как получить созданный виджет, если он его создал в HUD-е, где он в теории должен быть, то получить он его сможет по такой вот цепочке вызовов.
Для удобства (понимания) и сокращения повторения кода, придумана возможность наследования (среди прочих принципов ООП). Если по-простому - классы образовывают дерево. Из одного или более узлов. В нативном C++ может быть кросс-наследование, но в UE оно запрещено, так что это всегда будет именно дерево. В UE корнем дерева выступает UObject. Дерево наследования проще всего наверное будет сравнить с иерархией живых существ, которую в биологии в 7 классе средней школы проходят. Есть царство животных, потом от него всякие классы там, позвоночные, беспозвоночные и так далее. Каждый базовый класс даёт своим наследникам определённое поведение и свойства, которыми он обладает, например, у позвоночных есть позвоночник, значит у млекопитающих он тоже будет. Так и здесь, например, APawn может управляться контроллером, значит ACharacter, который унаследован от APawn, тоже может управляться контроллером.
Ребят, вы думаете я этого не понимаю? Вот реально. Но в данном случае это приведение используется для чего? Для "получения дочернего класса из базового", как я понял проблему человека.
Я не для тебя написал, а для человека как раз.
Всё с тобой понятно.
Сам пошутил - сам посмеялся.
да, так и есть.
Обсуждают сегодня