mirror of
https://github.com/AnnulusGames/Alchemy.git
synced 2025-01-22 16:28:25 -05:00
1.1 KiB
1.1 KiB
SerializeReference
AlchemyはUnityの[SerializeReference]
に対応しています。[SerializeReference]
属性を付加することで、インターフェースや抽象クラスをInspector上で編集できるようになります。
using System;
using UnityEngine;
public interface IExample { }
[Serializable]
public sealed class ExampleA : IExample
{
public float alpha;
}
[Serializable]
public sealed class ExampleB : IExample
{
public Vector3 beta;
}
[Serializable]
public sealed class ExampleC : IExample
{
public GameObject gamma;
}
public class SerializeReferenceExample : MonoBehaviour
{
[SerializeReference] public IExample example;
[SerializeReference] public IExample[] exampleArray;
}
インターフェース・抽象クラスは上のように表示され、ドロップダウンから子クラスを選択して生成することができます。
SerializeReferenceのシリアル化についてはUnityの公式マニュアルを参照してください。