Alchemy/docs/articles/ja/serialize-reference.md
2024-02-19 17:06:25 +09:00

40 lines
1.1 KiB
Markdown

# SerializeReference
AlchemyはUnityの`[SerializeReference]`に対応しています。`[SerializeReference]`属性を付加することで、インターフェースや抽象クラスをInspector上で編集できるようになります。
```cs
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;
}
```
![img](../../images/img-serialize-reference.png)
インターフェース・抽象クラスは上のように表示され、ドロップダウンから子クラスを選択して生成することができます。
SerializeReferenceのシリアル化については[Unityの公式マニュアル](https://docs.unity3d.com/ja/2020.3/ScriptReference/SerializeReference.html)を参照してください。