ฉันรู้ว่าสิ่งนี้สามารถทำได้เพราะปลั๊กอินที่น่าทึ่ง Odin มีเครื่องมือทำให้เป็นอนุกรมที่ยอดเยี่ยม
ฉันหวังว่าฉันจะสามารถทำได้โดยใช้ Odin แต่แท็ก [Serialize] ก็ยังใช้งานไม่ได้
ฉันต้องการซีเรียลไลซ์อินสแตนซ์ใหม่ของสคริปต์ภายใน Scriptable Object
ด้วย Odin คุณสามารถทำให้พจนานุกรมเป็นอนุกรมได้ และหากคุณทำให้พจนานุกรมเป็นอนุกรมซึ่งมีอินสแตนซ์ของอินเทอร์เฟซ (สคริปต์) จะทำให้คุณสามารถสร้างอินสแตนซ์ใหม่ของสคริปต์นั้นภายในพจนานุกรมได้ดังนี้:
เนื่องจากเป็นไปได้ที่จะจัดเก็บอินสแตนซ์ของสคริปต์ไว้ในพจนานุกรม ฉันจึงอยากรู้ว่าสิ่งนี้สามารถทำได้ด้วยตัวเองได้อย่างไร
สคริปต์ที่ฉันต้องการบันทึกเป็นสคริปต์ทั่วไปที่มีเฉพาะฟังก์ชันและตัวสร้างว่างเปล่า
คุณรู้หรือไม่ว่าเหตุใดจึงต้องทำให้อินสแตนซ์ของอินเทอร์เฟซ (สคริปต์) ภายใน ScriptableObject เป็นอนุกรม
ตามหลักการแล้ว ฉันสามารถสร้างแอตทริบิวต์ด้วยวิธีใดวิธีหนึ่งและเพียงแค่บังคับให้มันทำให้เป็นอนุกรมดังนี้:
public class MyClass: MonoBehaviour
{
[ForceSerialize]
public IScript scriptToSerialize;
}
จากนั้นในตัวตรวจสอบ ฉันสามารถคลิกกล่องและสร้างอินสแตนซ์ใหม่ของสคริปต์นั้นเพื่อแนบกับออบเจ็กต์ได้