public T Get <T>(BuildTargetGroup g) { if (m_className == null) { return(default(T)); } int i = m_values.FindIndex(v => v.targetGroup == g); if (i >= 0) { Type t = Type.GetType(m_className); if (t == null) { LogUtility.Logger.LogFormat(LogType.Warning, "Could not retrieve Type info from classname:{0}", m_className); return(default(T)); } Assertions.Assert.IsTrue(typeof(T).IsAssignableFrom(t)); return((T)JsonUtility.FromJson(CustomScriptUtility.DecodeString(m_values[i].value), t)); } else { return(GetDefaultValue <T>()); } }
private T Deserialize() { Type instanceType = null; if (!string.IsNullOrEmpty(m_className)) { instanceType = Type.GetType(m_className); } if (!string.IsNullOrEmpty(m_instanceData) && instanceType != null) { string data = CustomScriptUtility.DecodeString(m_instanceData); return((T)JsonUtility.FromJson(data, instanceType)); } return(default(T)); }