Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    public void KeepMarkInfoToJson(MarkEditorInfos infos)
    {
        string jsonContent = EditorJsonUtility.ToJson(infos, true);

        File.WriteAllText(INFO_PATH, jsonContent);

        EditorUtility.DisplayDialog("保存", "保存完成\n(" + INFO_PATH + ")", "成功");

        m_Dirty = true;
    }
Ejemplo n.º 3
0
    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);
    }