Попытка использовать единство JsonUtility для сериализации многомерного массива - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь сохранить универсальный многомерный массив как json (это не основная функциональность, а конечная цель). Я хочу сохранить исходное местоположение в многомерном массиве, чтобы я мог его проанализировать.

вот мой код:

[Serializable]
public class Serializable2DArray<T>
{
    public Serializable2DObject<T>[] data;

    public Serializable2DArray(T[,] t)
    {
        List<Serializable2DObject<T>> tt = new List<Serializable2DObject<T>>();
        for (int x = 0; x < t.GetLength(0); x++)
        {
            for (int y = 0; y < t.GetLength(1); y++)
            {
                Serializable2DObject<T> td = new Serializable2DObject<T>(t[x, y], x, y);
                tt.Add(td);
            }
        }
        data = tt.ToArray();
    }
}

[Serializable]
public class Serializable2DObject<T>
{
    public int x;
    public int y;
    public T obj;

    public Serializable2DObject(T d, int _x, int _y)
    {
        obj = d;
        x = _x;
        y = _y;
    }
}

Спасибо за вашу помощь!

Редактировать: у меня есть это на другом конце, фактически используя функции:

Serializable2DArray<TileData> md = new Serializable2DArray<TileData>(Mapdata);
string a = JsonUtility.ToJson(md, true);
File.WriteAllText(Application.persistentDataPath + "/map.json", a);

Tiledata Class:

[System.Serializable]
public class TileData
{
    public int tileNumber;
    public Vector3 position;
    public int toughness;
    public int health;
}

все это возвращает "{}", и я хочу, чтобы оно возвращало правильный массив объектов

Извините, если мой вопрос был неясен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...