Force Unity để serialize một lĩnh vực tư nhân. Bạn sẽ hầu như không bao giờ cần điều này. Khi Unity tuần tự kịch bản của bạn, nó sẽ chỉ serialize các lĩnh vực công cộng. Nếu thêm vào đó bạn cũng muốn Unity để serialize một trong các lĩnh vực tư nhân của bạn, bạn có thể thêm các thuộc tính SerializeField đến lĩnh vực này. Unity sẽ tuần tự tất cả các thành phần kịch bản của bạn, tải lại các hội đồng mới, và tạo lại các thành phần kịch bản của bạn từ các verions tuần tự. Serialization này không xảy ra với chức năng serialization NET, nhưng với một nội Unity một. Các hệ thống tuần tự sử dụng có thể làm như sau: - THỂ serialize các lĩnh vực không tĩnh công cộng (các loại serializable) - CAN serialize các lĩnh vực không tĩnh không công khai được đánh dấu với [SerializeField] thuộc tính. - KHÔNG THỂ serialize trường tĩnh. - KHÔNG THỂ serialize tính. lĩnh vực của bạn sẽ chỉ serialize nếu nó là của một loại mà Unity có thể sắp đặt: loại Serializable là: - Tất cả các lớp kế thừa từ UnityEngine.Object, ví dụ GameObject, Component, MonoBehaviour, Texture2D, AnimationClip. - Tất cả các loại dữ liệu cơ bản như int, string, float, bool. - Một số được xây dựng trong các loại như Vector2, Vector3, Vector4, tec non, Matrix4x4, Color, Rect, LayerMask. - Mảng của một loại serializable - Danh sách một loại serializable) - Enums - Struct Lưu ý: nếu bạn đặt một phần tử trong một danh sách (hoặc mảng) hai lần, khi danh sách được đăng, bạn sẽ nhận được hai bản sao của phần tử đó, thay vì một bản sao có trong danh sách mới hai lần . Gợi ý: Unity sẽ không serialize điển, tuy nhiên bạn có thể lưu trữ một List <> cho các phím và một List <> cho giá trị, và may cho họ trong một từ điển không tuần tự trên Awake (). Điều này không giải quyết vấn đề khi bạn muốn thay đổi các từ điển và có nó "lưu" trở lại, nhưng nó là một mẹo hữu ích trong nhiều trường hợp khác. Đối với người dùng UnityScript: Fields trong c # là một biến kịch bản trong UnityScript, và [SerializeField] trở thànhSerializeField. [Serializable] trên lớp trở thành Serializablescript trong một UnityScript.
đang được dịch, vui lòng đợi..
