// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. using System; namespace FlaxEngine { /// /// Base class for game engine editor plugins. /// /// /// Plugins should have a public and parameter-less constructor. /// public abstract class Plugin { internal bool _initialized; /// /// Gets the description. /// /// /// Plugin description should be a constant part of the plugin created in constructor and valid before calling . /// public virtual PluginDescription Description => new PluginDescription { Name = GetType().Name, Category = "Other", Version = new Version(1, 0), }; /// /// Initialization method called when this plugin is loaded to the memory and can be used. /// public virtual void Initialize() { } /// /// Cleanup method called when this plugin is being unloaded or reloaded or engine is closing. /// public virtual void Deinitialize() { } } }