Пример #1
0
        public static Overrides FromJSON(string json)
        {
            Serializeable serializeable = JsonUtility.FromJson <Serializeable>(json);

            if (serializeable.keys == null || serializeable.values == null)
            {
                return(new Overrides());
            }

            if (serializeable.keys.Length != serializeable.values.Length)
            {
                Debug.LogError("Corrupt keybind dictionary! Key and Value count don't match! Falling back to empty!");
                return(new Overrides());
            }

            Overrides overrides = new Overrides();

            for (int i = 0; i < serializeable.keys.Length; i++)
            {
                if (System.Guid.TryParse(serializeable.keys[i], out System.Guid guid))
                {
                    overrides.Add(guid, serializeable.values[i]);
                }
                else
                {
                    Debug.LogWarning($"Failed to parse guid: {serializeable.keys[i]}, mapped to {serializeable.values[i]}. Resetting to default!");
                }
            }
            return(overrides);
        }
Пример #2
0
        public string ToJSON()
        {
            Serializeable serializeable = new Serializeable()
            {
                keys   = Keys.Select((x) => x.ToString()).ToArray(),
                values = Values.ToArray(),
            };

            return(JsonUtility.ToJson(serializeable));
        }