Example #1
0
 public void Load()
 {
     _data = AssistLibEditorSettings.Get <EditorToolsSaveData>(EDITOR_TOOLS_SETTINGS_KEY);
     if (_data == null)
     {
         _data = new EditorToolsSaveData();
     }
 }
Example #2
0
 public void Save()
 {
     data.toolsData = tools.Select(t => {
         var toolData      = new EditorToolsSaveData.EditorToolData();
         toolData.typeName = t.GetType().FullName;
         t.Serialize(toolData.data);
         return(toolData);
     }).ToList();
     AssistLibEditorSettings.Set(EDITOR_TOOLS_SETTINGS_KEY, data);
 }
Example #3
0
        public void SaveTools()
        {
            var settingsHash = AssistLibEditorSettings.GetDataNode(_editorToolsSettingsKey);

            tools.Values.ForEach(tool => {
                var toolSettings = settingsHash.GetChild(tool.GetType().ToString());
                tool.Save(toolSettings);
                settingsHash.AddOrSet(tool.GetType().ToString(), toolSettings);
            });
            AssistLibEditorSettings.SetDataNode(_editorToolsSettingsKey, settingsHash);
        }
Example #4
0
        public EditorToolsController()
        {
            var settingsHash = AssistLibEditorSettings.GetDataNode(_editorToolsSettingsKey);

            AppDomain.CurrentDomain.GetAssemblies().ForEach(assembly => {
                assembly.GetTypes().Where(t => t.IsSubclassOf(typeof(EditorTool)) && !t.IsAbstract).ForEach(t => {
                    if (!tools.ContainsKey(t))
                    {
                        var tool = (EditorTool)Activator.CreateInstance(t);
                        tools.Add(t, tool);
                        tool.Init(settingsHash.GetChild(t.ToString()));
                    }
                });
            });
        }