// 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()
{
}
}
}