private void OnInit() { if (m_Marks != null) { m_Marks.Clear(); m_Marks = null; } m_Marks = new List <HierarchyMark>(); MarkEditorInfos infos = ReadMarkInfoFromJson(); Type curType; object TypeInstance; HierarchyMark curMark; MarkEditorInfo curMarkInfo; for (int i = 0; i < HierarchyMarkRegister.Registers.Length; i++) { curType = HierarchyMarkRegister.Registers[i]; TypeInstance = curType.Assembly.CreateInstance(curType.Name); curMark = (HierarchyMark)TypeInstance; curMarkInfo = infos.m_Infos.Find(info => info.m_Name == curType.Name); if (curMarkInfo == null) { continue; } SetHierarchyMarkInfo(curMark, curMarkInfo); m_Marks.Add(curMark); } }
public void KeepMarkInfoToJson(MarkEditorInfos infos) { string jsonContent = EditorJsonUtility.ToJson(infos, true); File.WriteAllText(INFO_PATH, jsonContent); EditorUtility.DisplayDialog("保存", "保存完成\n(" + INFO_PATH + ")", "成功"); m_Dirty = true; }
public MarkEditorInfos ReadMarkInfoFromJson() { MarkEditorInfos infos = null; if (File.Exists(INFO_PATH)) { string jsonContent = File.ReadAllText(INFO_PATH); infos = JsonUtility.FromJson <MarkEditorInfos>(jsonContent); } if (infos == null) { infos = new MarkEditorInfos(); infos.m_Infos = new List <MarkEditorInfo>(); } return(infos); }