Skip to content

Commit

Permalink
Add on/off toggle
Browse files Browse the repository at this point in the history
  • Loading branch information
stop-pattern committed Jul 1, 2024
1 parent 7a01396 commit 2d84e5d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 14 deletions.
21 changes: 19 additions & 2 deletions CommEx/Serial/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,26 @@ namespace CommEx.Serial
/// Plugin() の第二引数でこのプラグインが必要とするAtsEX本体の最低バージョンを指定(オプション)
/// </summary>
[Plugin(PluginType.Extension)]
internal class Serial : AssemblyPluginBase, IExtension
[Togglable]
internal class Serial : AssemblyPluginBase, ITogglableExtension, IExtension
{
/// <inheritdoc/>
public override string Title { get; } = nameof(Serial);
/// <inheritdoc/>
public override string Description { get; } = "シリアル通信";

/// <summary>
/// プラグインの有効・無効状態
/// </summary>
private bool status = true;

/// <inheritdoc/>
public bool IsEnabled
{
get { return status; }
set { status = value; }
}

/// <summary>
/// プラグインが読み込まれた時に呼ばれる
/// 初期化を実装する
Expand All @@ -34,7 +52,6 @@ public Serial(PluginBuilder builder) : base(builder)
/// <param name="e"></param>
private void Extensions_AllExtensionsLoaded(object sender, EventArgs e)
{
throw new NotImplementedException();
}

/// <summary>
Expand Down
30 changes: 18 additions & 12 deletions CommEx/Udp/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,33 @@ namespace CommEx.Udp
/// Plugin() の第二引数でこのプラグインが必要とするAtsEX本体の最低バージョンを指定(オプション)
/// </summary>
[Plugin(PluginType.Extension)]
internal class Udp : AssemblyPluginBase, IExtension
[Togglable]
internal class Udp : AssemblyPluginBase, ITogglableExtension, IExtension
{
/// <inheritdoc/>
public override string Title { get; } = nameof(Udp);
/// <inheritdoc/>
public override string Description { get; } = "UDP";

/// <summary>
/// プラグインが読み込まれた時に呼ばれる
/// 初期化を実装する
/// プラグインの有効・無効状態
/// </summary>
/// <param name="builder"></param>
public Udp(PluginBuilder builder) : base(builder)
private bool status = false;

/// <inheritdoc/>
public bool IsEnabled
{
Extensions.AllExtensionsLoaded += Extensions_AllExtensionsLoaded;
get { return status; }
set { status = value; }
}

/// <summary>
/// 全ての AtsEX 拡張機能が読み込まれ、AtsEx.PluginHost.Plugins.Extensions プロパティが取得可能になると発生
/// プラグインが読み込まれた時に呼ばれる
/// 初期化を実装する
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Extensions_AllExtensionsLoaded(object sender, EventArgs e)
/// <param name="builder"></param>
public Udp(PluginBuilder builder) : base(builder)
{
throw new NotImplementedException();
}

/// <summary>
Expand All @@ -43,7 +50,6 @@ private void Extensions_AllExtensionsLoaded(object sender, EventArgs e)
/// </summary>
public override void Dispose()
{
Extensions.AllExtensionsLoaded -= Extensions_AllExtensionsLoaded;
}

/// <summary>
Expand Down

0 comments on commit 2d84e5d

Please sign in to comment.