예제 #1
0
        private static void OnRemoveTemplate(SerializedObject so, ME.ECS.DataConfigs.DataConfigTemplate template)
        {
            var config       = so.targetObject as ME.ECS.DataConfigs.DataConfig;
            var allTemplates = new System.Collections.Generic.HashSet <ME.ECS.DataConfigs.DataConfigTemplate>();

            foreach (var guid in config.templates)
            {
                if (string.IsNullOrEmpty(guid) == true)
                {
                    continue;
                }
                var path = AssetDatabase.GUIDToAssetPath(guid);
                if (string.IsNullOrEmpty(path) == true)
                {
                    continue;
                }
                var temp = AssetDatabase.LoadAssetAtPath <ME.ECS.DataConfigs.DataConfigTemplate>(path);
                if (temp == null)
                {
                    continue;
                }
                allTemplates.Add(temp);
            }
            config.RemoveTemplate(template, allTemplates);
            so.UpdateIfRequiredOrScript();
        }
예제 #2
0
        private static void OnAddTemplate(SerializedObject so, ME.ECS.DataConfigs.DataConfigTemplate template)
        {
            var config = so.targetObject as ME.ECS.DataConfigs.DataConfig;

            config.AddTemplate(template);
            so.UpdateIfRequiredOrScript();
        }
예제 #3
0
        private void RemoveTemplate(ME.ECS.DataConfigs.DataConfig dataConfig, ME.ECS.DataConfigs.DataConfigTemplate template, System.Collections.Generic.HashSet <ME.ECS.DataConfigs.DataConfigTemplate> allTemplates)
        {
            var path = AssetDatabase.GetAssetPath(template);
            var guid = AssetDatabase.AssetPathToGUID(path);

            if (string.IsNullOrEmpty(guid) == true)
            {
                return;
            }

            var list = dataConfig.templates.ToList();

            list.Remove(guid);
            dataConfig.templates = list.ToArray();
            dataConfig.RemoveTemplate(template, allTemplates);
            dataConfig.OnScriptLoad();
            this.Save(dataConfig);
        }