Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 429
Аватара пользователя
Пользователь
Сообщения: 2319
DanzigFun писал(а):

:D

и еще вопрос что означает "метка класса" EditInlineNew
https://docs.unrealengine.com/latest/IN ... index.html
Цитата:
Указывает, что объекты этого класса могут быть созданы из окна свойств Unreal Editor ... бла-бла...

немного не ясно, простым языком может кто-нить обьяснить.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 429
Там сказано, что обычно можно вставить ссылку на класс в окне свойств, в то время как с этой диррективой можно создать экземпляр класса прямо в редакторе, на сколько я понял.
Я такую конструкцию встречал в C++ варианте PlayerController-а, там Pawn делается подобным образом.
Аватара пользователя
Пользователь
Сообщения: 2319
И еще закономерный вопрос: я хочу переопределять в БП "класс конфигов". Но что-то не пойму как это сделать. (не компилятся мои варианты)
(чтоб не делать миллион разных вариантов класса утановки конфигурации, а только делать конфиги, и чтоб при выборе конфиг класса фильтр был не на все конфиги а только определенного класса)
_________________
we need to go deeper
Последний раз редактировалось Snake 07 июл 2017, 09:04, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 154
DanzigFun писал(а):
Там сказано, что обычно можно вставить ссылку на класс в окне свойств, в то время как с этой диррективой можно создать экземпляр класса прямо в редакторе, на сколько я понял.
Я такую конструкцию встречал в C++ варианте PlayerController-а, там Pawn делается подобным образом.

Как раз так и есть.

Snake,
В первом случае если выбираются в выпадающем списке классы, то редактор пытается создать объект этого класса.
Во втором случае - это всего лишь шаблон для создания объекта. TSubClassOf это также как и UClass*. просто в TSubClassOf можно ограничить иерархию.
Аватара пользователя
Пользователь
Сообщения: 2319
Snake писал(а):
И еще закономерный вопрос: я хочу переопределять в БП "класс конфигов". Но что-то не пойму как это сделать. (не компилятся мои варианты)
(чтоб не делать миллион разных вариантов класса утановки конфигурации, а только делать конфиги, и чтоб при выборе конфиг класса фильтр был не на все конфиги а только определенного класса)

тоесть хотелось бы чтоб был двойной выбор: выбираем класс конфига, и наш в массив можно добавлять только конфиги этого класса.
то-есть получается в таком варианте одна переменная зависит от другой... возможно так сделать?
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
...
или по другому:

как мне взять SelfClass - класс у селф(себя)? получится его таким образом подставить в UPROPERTY?

или может: уОбжект "каст ту селф-класс" и подставить туда же...?
можно вообще в UPROPERTY делать такое (держать не постоянный класс)?
если нет, тогда какие вообще пути решения этой задачи?
по сути все что нужно это выставлять базовый класс конфига , и чтоб конфиги из списка выбирать только наследники этого класса, фильтр.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 154
Обязательно должен быть указан тип переменной: никаких self или this туда не получится засунуть.
Не понял про держать непостоянный класс.

Код:
   UPROPERTY(EditDefaultsOnly, Instanced, BlueprintReadWrite, Category = "Test")
      TArray<UObject*> Test;


Если так делать, то будет возможность использовать класс UObject и все его не абстрактные наследники.
Аватара пользователя
Пользователь
Сообщения: 429
Цитата:
все его не абстрактные наследники.

Абстрактные классы на то и абстрактные - они нигде не фигурируют вообще и не могут физически этого делать ))
Аватара пользователя
Пользователь
Сообщения: 2319
так в том то и дело зачем мне все наследники уОбжекта... мне б указывать только одну ветвь...
в другом месте другою и тд, что не создавать под каждый конфиг отдельный "спавн класс" конфига.
тоесть например нужно мне заспавнить "уГрафикСетингс" конфиг, я выставил его класс и все, конфиги с саб меню только этого класса.
чтоб заспавнить "уСейвОбжект" ставим другой класс, и конфиги с саб меню уже только этого класса и тд.
при этом мне нужно только создать один(!) обьект и указать класс конфига.
тоесть таким образом потом любому наследнику от такого класса я могу прицепить ЛЮБОЙ класс конфигураций но конкретного типа.
ну вот типа такого:
http://i.imgur.com/JtSy4ol.mp4
только первая переменная полностью меняет класс у возможных вложенных. Это попытка с двойным иснтансом уже... Но указать конкретный класс массива инстансов не получается... то-есть передать из создателя...

собственно для чего: один единственный класс родитель с возможностью подклюличить любой из классов кофигурации.


окай попробую по другому спросить: UPROPERTY ! могу я в нем указать перменную класса от куда нибудь, не статичный уОбжект.
например передавать переменную класса при создании?

вот если так нельзя... ну никак... тогда прийдется делать для создания группы конфигов отдельные классы, хотя по сути своей они будут делать одно и то же, одна единственная переменная разная.

вот пример чуть понятней
если не цеплятся за эти сабменю в рантайме блуепринтов это будет выглядеть так:
Изображение
вот мне нужно чтоб массив мог содержать только обьекты класаа от которого они созданны.

тоесть если я создал "черную матрешку" чтоб выбор настройки в саб меню был только для этой "черной матрешки" , а не любой уОбжект.
_________________
we need to go deeper
Последний раз редактировалось Snake 07 июл 2017, 15:02, всего редактировалось 6 раз(а).


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница