/// <summary> /// Overridden function. /// </summary> /// <returns></returns> public override EditorPluginInfo GetPluginInformation() { // Specifically for entities this version is a bit more complicated // as the underlying entity class can be from a different plugin than this if (_cachedEntitySourcePluginInfo.ContainsKey(_entityClass)) return _cachedEntitySourcePluginInfo[_entityClass]; EditorPluginInfo newInfo = new EditorPluginInfo(); _cachedEntitySourcePluginInfo.Add(_entityClass, newInfo); StringCollection uniqueNames = new StringCollection(); EditorManager.EngineManager.TypeManager_GetClassPluginNames(_entityClass, uniqueNames); newInfo.NativePluginNames = new string[uniqueNames.Count]; uniqueNames.CopyTo(newInfo.NativePluginNames,0); return newInfo; }
/// <summary> /// Overridden function /// </summary> /// <returns></returns> public override EditorPluginInfo GetPluginInformation() { if (DecorationModels.Count==0) return EditorPlugin.EDITOR_PLUGIN_INFO; // need to collect plugin names from decoration types: EditorPluginInfo info = new EditorPluginInfo(); ArrayList plugins = new ArrayList(2); plugins.AddRange(EditorPlugin.EDITOR_PLUGIN_INFO.NativePluginNames); foreach (DecorationModelResource model in DecorationModels) model.AddPluginNames(plugins); info.NativePluginNames = (string[])plugins.ToArray(typeof(string)); return info; }