при респавне. Как лучше это делать? Вариант доставать ручками я понимаю, но не принимаю)
прокси актора заюзай и передай все му
никто не просит спавнить дубликат)
Что тогда значит прокси?
просто сущность которой ты передашь нужные переменные.
А как мне получить эту сущность без её спавна?
надо твоим акторам делать какую то функцию сериализатор которая будет отдавать структуру под сейв. и которые будут принимать структура для инициализации после спавна но да для каждого класса ты делаешь свою струкутру иначе вариантов нет если только готовая система котоаря под копотом делает все тоже самое
Видать по-одному это единственный варик) Делать структуру со всеми параметрами и её сериализация это по сути тоже самое в плане временных затрат, если не дольше
чем что?? чем спавн?
Если не принимаешь, то закрывай эту задачу, переходи к следующей. Простенькие свойства ты можешь легко сохранить через SaveGame спецификатор. Нужно что-то более сложное - велком писать свой сериализацию. Ну или просто взять сторонний плагин, благо есть их.
Не, мне в процессе игры нужно это делать. Сэйвы по сути тут ни к чему наверное, как и сериализация
Да, я понимаю что в процессе игры. Спецификатор SaveGame здесь как раз для того, чтобы ты мог пометить какие именно свойства ты хочешь сериализовать
ну суть в том, чтобы это все в файл сохранять, а не в обжект. Для этого SaveGame. Но по факту мне в принципе без разницы. Все равно каждую переменную руками перебирать придется. И при добавлении параметров в заспавненного актера этот сэйв обджект расширять. Именно в этом вопрос был, может как-то можно целиком все параметры сохранить и загрузить не перебирая
Конечно можно, не использовать флаг bArIsSaveGame у архива с помощью которого ты сериализуешься, и получится полная жопа
у меня есть обработчик зомби, который удаляет зомби на расстоянии от игрока. Но при восстановлении (повторном спавне) я хочу вернуть ему значения некоторых переменных. Если в будущем добавятся параметры, которые я захочу сохранить, мне придется открывать файл с сэйвом, добавлять туда переменные (либо структуру, не важно, в структуру добавлять). И расширять снова save и load как на скрине (ручками) Мне банально было интересно может у меня дырка какая в знаниях и я могу что-то еще с ними сделать. Но видимо такого способа просто нет
почему бы просто не отключать рендер зомби, а самого актора не уводить в *спячку*
потому что помимо рендера существует логика зомби, всякие штуки на тике которые зомби делает, запущенные таймеры и может много чего еще. Просто я не делал этого зомби и мне показалось надежнее его просто удалить
так это как раз и есть *спячка*
Есть из коробки какая-то спячка для актера, которая все выключает? AI controller / таймеры и то, о чем я могу не знать?
Поверь, оптимизировать его, как советуют выше, наверняка будет гораздо-гораздо проще, чем сохранить и восстановить его состояния
Таймеры ты вот вообще условно не сериализуешь, т.к. они трекаются не в твоём персонаже. Об этой задаче даже думать страшно, не то, что её решать. Поэтому делай оптимизацию, а когда тебе реально будет нужно сериализовать/десериализовать актора, вооружайся плюсами и внимательно продумывай, что реально надо сохранить, и что можно заного просимулировать, чтобы получить такое же состояния. Ну и ручками всё, ручками...
Обсуждают сегодня