Я знаю, что это можно сделать, потому что в удивительном плагине Odin есть потрясающие инструменты сериализации.
Я надеялся, что смогу сделать это с помощью Odin, но даже их тег [Serialize] не работает.
Я хочу сериализовать новый экземпляр скрипта внутри Scriptable Object.
С помощью Odin вы можете сериализовать словари, и если вы сериализуете словарь, который содержит экземпляр интерфейса (скрипт), он позволяет вам создать новый экземпляр этого скрипта внутри словаря следующим образом:
Поскольку можно хранить экземпляр скрипта внутри словаря, мне любопытно, как это можно сделать самостоятельно.
Сценарий, который я хочу сохранить, представляет собой общий сценарий только с функциями и пустым конструктором.
Знаете ли вы, зачем сериализовать экземпляр интерфейса (скрипт) внутри ScriptableObject?
В идеале я мог бы каким-то образом создать атрибут и просто заставить его сериализоваться следующим образом:
public class MyClass: MonoBehaviour
{
[ForceSerialize]
public IScript scriptToSerialize;
}
А затем в инспекторе я мог просто щелкнуть поле и создать новый экземпляр этого скрипта, который будет прикреплен к объекту.