дратути!
может что то тупое спрашиваю, но, как добавить значения собсно ?
есть Map c ключом типа Actor, и переменной типа Struct в которой еще один Map name, actor.
все перепробовал, никак, в переменную map добавляет, а во вложенную нед! нужно много значений добавлять вложенной.
туплю? или оно заведомо мертвое.
Я тоже в свое время не понял, почему оно не работает так.
Я точно не помню, примерно помню.
1) Придется создать новую переменную, записать в нее значение "переменной типа Struct".
2) В новой переменной изменить значение Map name, actor.
3) Вставить значение новой переменной в первоначальную Map.
Если используется часто, то это можно обернуть в функцию или макрос.
Насколько я знаю, если делать через С++, то там 3 вида Map, а в блупринтах только такая, своеобразная.
Я вам очень советую не вкладывать структуры в структуры. Когда проект вырастет, то проект может необратимо сломаться. Очень много потом возни будет, когда изменение одной структуры ломает все другие, в которые она вложена.
действительно, оно живое! благодарю.
Imperator_Igor
> Я вам очень советую не вкладывать структуры в структуры. Когда проект вырастет, то проект может необратимо сломаться
если что то менять в структуре? или само по себе козявится.
У меня постоянно ломался проект из-за структур, вложенных в другие структуры.
Очень часто приходится менять какие-то переменные в структурах. Если проект небольшой, то ошибок не будет. А иначе могут все ссылки во всех блупринтах сломаться, включая вложенные структуры.
Даже простое переименование переменной структуры может привести к таким последствиям. На форумах об этом много пишут. Лучше заранее узнать об этом.
Ещё я читал, что лучший вариант - объявить структуру в с++, там вроде как очень просто. Пишут, что так стабильнее работает.
объявить структуру в с++, там вроде как очень просто.
Да.
Вот так легко.
//объявили struct person { unsigned age; std::string name; }; //в коде заюзали person tom; tom.name = "Tom"; tom.age = 34; person Sem; Sem.name = "Sem"; Sem.age = 24;
Imperator_Igor
> Ещё я читал, что лучший вариант - объявить структуру в с++, там вроде как очень просто. Пишут, что так стабильнее работает.
Так и есть. По крайней мере в 4.27 блюпринтовые структуры забагованы и часто ломаются, а данные в ассетах с ними затираются.
Лучше объявить на стороне c++. И карты (особенно вложенные) лучше ворочать тоже на стороне плюсов - там есть функции, работающие гораздо быстрее без копирования (на стороне блюпринтов у карты все функции с копированием - вытащив вложенную карту, ты получаешь не ссылку на неё, а копию, поэтому в оригинальную ничего и не вставляется).
Владение языком тут требуется самое базовое.