Unity FormerlySerializedAs の使用

public class shishi : MonoBehaviour
{
    public CameraSizeHandler CameraSize01;

    [System.Serializable]
    public class CameraSizeHandler
    {
        public Color BackgroundColor = Color.gray;
        public Rect ViewPortRect = new Rect(0.0f, 0.0f, 1.0f, 1.0f); 
        public RectOffset ViewPortOffset; 
        public Vector2 CanvasMargin = new Vector2(22.0f, 22.0f);
        public float MaxSpeed = 1000.0f;
        bool enabled = false;
    }
}


 ここで、フィールド CameraSize01 の名前を変更したい、たとえば、CameraSize02 に変更したい、モニター パネルで CameraSize01 に以前に設定した値を保持する必要があるという要件があります。直接、それは次のとおりです


モニター パネルの変更を再度確認すると、以前に CameraSize01 に設定されていたシリアル化された値がなくなっています


どうすればいいですか、フィールドの名前を変更したいだけで、以前にフィールドに設定された値を失いたくないので、次の方法を使用する必要があります


public class shishi : MonoBehaviour
{
    [FormerlySerializedAs("CameraSize01")]
    public CameraSizeHandler CameraSize02;

    [System.Serializable]
    public class CameraSizeHandler
    {
        public Color BackgroundColor = Color.gray;
        public Rect ViewPortRect = new Rect(0.0f, 0.0f, 1.0f, 1.0f); 
        public RectOffset ViewPortOffset; 
        public Vector2 CanvasMargin = new Vector2(22.0f, 22.0f);
        public float MaxSpeed = 1000.0f;
        bool enabled = false;
    }
}

 

FR: Hunk Xu (hunk Xu)
QQ 技術交流グループ: 386476712

 

おすすめ

転載: blog.csdn.net/qq_15267341/article/details/103923291