Unity Tilemap Persistance

我正在为我的2D平铺游戏创建地图编辑器,我需要一种将地图保存为JSON的方法。对此必须有一个简单的解决方案,因为这似乎是一件很基本的事情,但是我遇到的问题是字典或对象数组都不是可序列化的。

我的代码如下:

[CreateAssetMenu(menuName = "Map")]
public class Map : ScriptableObject
{
    [SerializeField]
    public Tile[,] tiles;
}

[System.Serializable]
public class Tile
{
    [SerializeField]
    public string name;
}

public class MapView: MonoBehaviour {
    private Tilemap tilemap;   // unity Tilemap reference
    public Map map;   // Map instance to save

    void Start()
    {
        tilemap = getcomponent<Tilemap>();
    }

    public void Save()
    {
        map.tiles = GetTiles();
        string json = JsonUtility.ToJson(map);
        Debug.Log(json);
    }

    public Tile[,] GetTiles() {
        // loops through each Tilemap position and appends to tile array
    }
}

当我尝试保存MapView并将Map scriptableobject转换为Json时,它仅打印:{}

kaka29999 回答:Unity Tilemap Persistance

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2911583.html

大家都在问