public void PrepareOverride() { var customData = m_InstanceTile.GetCustomFields(true) .ToDictionary(field => field, field => field.GetValue(m_InstanceTile)); JsonUtility.FromJsonOverwrite(JsonUtility.ToJson(m_Tile), m_InstanceTile); foreach (var kvp in customData) { kvp.Key.SetValue(m_InstanceTile, kvp.Value); } }
/// <summary> /// Prepares the Overrides set for this RuleOverrideTile /// </summary> public void PrepareOverride() { // Create clone of instanceTile to keep data from collections being overridden by JsonUtility var tempTile = Instantiate(m_InstanceTile); var customData = m_InstanceTile.GetCustomFields(true) .ToDictionary(field => field, field => field.GetValue(tempTile)); JsonUtility.FromJsonOverwrite(JsonUtility.ToJson(m_Tile), m_InstanceTile); foreach (var kvp in customData) { kvp.Key.SetValue(m_InstanceTile, kvp.Value); } }