でクラスをシリアル化するために、私は私のC#ライブラリ内のクラスを持っている:どのようにカスタムライブラリ
public class PositiveLayer : MonoBehaviour
{
[SerializableField]
internal BezierPoint[] Bezier { get; private set; }
public PositiveLayer()
{
Bezier = new BezierPoint[0];
}
[Serializable]
public class BezierPoint
{
public Vector2 Target;
public Vector2 Tangent;
}
}
Unity3Dがマイライブラリにこのクラスを参照してくださいと、いくつかのGameObject
シーンでの部品のように追加することができますすることができます。しかし、それはプレハブの状態を失った。 C#ライブラリ(.DLL)内のクラスのシリアル化を提供する方法
これらのクラスをUnity3Dのエディタにどのように変更すれば、このスクリプト状態を保存するための正しいプレハブを作成できますか?私のクラスが.dll
の図書館内にある場合は可能ですか?そうでない場合は、どうやってそれを内部と外部の実現で分けることが可能か?
何にシリアル化しますか? Json?バイナリ? – Programmer
@Programmer、私はちょうど私のスクリプトでプレハブを作るために自分のゲームオブジェクトをドラッグするときに、私のスクリプトはそのフィールドの価値を失うことはありません –
あなたは 'ISerializable'を実装し、'ベジエ 'あなた自身の詳細。 – Draco18s