danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

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

split97 split97

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

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Unity

Список и сериализуемые объекты

Есть такая задача - хранить список разных экземпляров
В духе

public List<object> list = new List<object>();

Но проблема в том, что List<object> не сериализуем в Unity (ибо тип object не сериализуемый, так как подразумевает любой тип, как сериализуемый, так и не сериализуемый)
Все данные которые я собираюсь хранить - сериализуемы, это всякие Object, bool, int

Что делать и как быть в этой ситуации.

Я пробовал хранить объекты в генерик классе, аля Value<T> : ScriptableObject, от которого пришлось создавать кучу оболочек:

ValueBool : Value<bool> 
ValueString : Value<string> 

Таким образом я мог хранить List<ScriptableObject>, хранящий внутри нужные мне экземпляры сериализуемых типов.
И такое решение меня совсем не устраивает, объекты становятся слишком тяжелыми

#НадоДвигатьРоднойQAДажеЕслиНеПоймут

Ответ

Пробовал юзать бинарную сериализацию данных, но все заступорилось сразу как только оказалось что объекты, наследуемые от Object не помечены аттрибутом Serializable.
Запаковать Object - способа не нашел. Была идея закидывать InstanceID, однако минус в том, что достать по нему инстанс в игровом режиме нельзя - по этому идентификатору объекты восстанавливаются только в редакторе.
Отталкиваясь от этой информации и наступив на кучу прочих граблей, с уверенностью могу сказать, что "не тяжелого" способа хранить такие списки в Юнити на данный момент просто нет.

Смотрите также:


Комментарии



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

Вот наталкивался на мысль - может тут нужно применить какой-нибудь нестандартный метод сериализации?
Еще есть намек на использование фич сериализации 4.5.1 - они там добавили специальный интерфейс для "ручной обработки". Посмотреть, потрогать что это такое. Если получится - дополню статью по сериализации + отпишу подробней тут за результат

Пробовал юзать бинарную сериализацию данных, но все заступорилось сразу как только оказалось что объекты, наследуемые от Object не помечены аттрибутом Serializable.
Запаковать Object - способа не нашел. Была идея закидывать InstanceID, однако минус в том, что достать по нему инстанс в игровом режиме нельзя - по этому идентификатору объекты восстанавливаются только в редакторе.
Отталкиваясь от этой информации и наступив на кучу прочих граблей, с уверенностью могу сказать, что "не тяжелого" способа хранить такие списки в Юнити на данный момент просто нет.

Возможность добавлять комментарии была ограничена