Nothing to see here, move along
This commit is contained in:
@@ -34,5 +34,22 @@ namespace Torch.API.Plugins
|
|||||||
/// This is called on the game thread after each tick.
|
/// This is called on the game thread after each tick.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void Update();
|
void Update();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Plugin's enabled state. Mainly for UI niceness
|
||||||
|
/// </summary>
|
||||||
|
PluginState State { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum PluginState
|
||||||
|
{
|
||||||
|
NotInitialized,
|
||||||
|
DisabledError,
|
||||||
|
DisabledUser,
|
||||||
|
UpdateRequired,
|
||||||
|
UninstallRequested,
|
||||||
|
NotInstalled,
|
||||||
|
MissingDependency,
|
||||||
|
Enabled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -51,5 +52,55 @@ namespace Torch.Server.ViewModels
|
|||||||
this.Control.Resources.MergedDictionaries.Clear();
|
this.Control.Resources.MergedDictionaries.Clear();
|
||||||
this.Control.Resources.MergedDictionaries.Add(dictionary);
|
this.Control.Resources.MergedDictionaries.Add(dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Brush Color
|
||||||
|
{
|
||||||
|
get {
|
||||||
|
switch (Plugin.State)
|
||||||
|
{
|
||||||
|
case PluginState.NotInitialized:
|
||||||
|
case PluginState.MissingDependency:
|
||||||
|
case PluginState.DisabledError:
|
||||||
|
return Brushes.Red;
|
||||||
|
case PluginState.UpdateRequired:
|
||||||
|
return Brushes.DodgerBlue;
|
||||||
|
case PluginState.UninstallRequested:
|
||||||
|
return Brushes.Gold;
|
||||||
|
case PluginState.NotInstalled:
|
||||||
|
case PluginState.DisabledUser:
|
||||||
|
return Brushes.Gray;
|
||||||
|
case PluginState.Enabled:
|
||||||
|
return Brushes.Transparent;
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ToolTip
|
||||||
|
{
|
||||||
|
get { switch (Plugin.State)
|
||||||
|
{
|
||||||
|
case PluginState.NotInitialized:
|
||||||
|
return "Error during load.";
|
||||||
|
case PluginState.DisabledError:
|
||||||
|
return "Disabled due to error on load.";
|
||||||
|
case PluginState.DisabledUser:
|
||||||
|
return "Disabled.";
|
||||||
|
case PluginState.UpdateRequired:
|
||||||
|
return "Update required.";
|
||||||
|
case PluginState.UninstallRequested:
|
||||||
|
return "Marked for uninstall.";
|
||||||
|
case PluginState.NotInstalled:
|
||||||
|
return "Not installed. Click 'Enable'";
|
||||||
|
case PluginState.Enabled:
|
||||||
|
return string.Empty;
|
||||||
|
case PluginState.MissingDependency:
|
||||||
|
return "Dependency missing. Check the log.";
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<ListView Grid.Row="0" ItemsSource="{Binding Plugins}" SelectedItem="{Binding SelectedPlugin}" Margin="3">
|
<ListView Grid.Row="0" ItemsSource="{Binding Plugins}" SelectedItem="{Binding SelectedPlugin}" Margin="3">
|
||||||
<ListView.ItemTemplate>
|
<ListView.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<TextBlock Text="{Binding Name}"/>
|
<TextBlock Text="{Binding Name}" Background="{Binding Color}" ToolTip="{Binding ToolTip}"/>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ListView.ItemTemplate>
|
</ListView.ItemTemplate>
|
||||||
</ListView>
|
</ListView>
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using NLog;
|
||||||
|
|
||||||
namespace Torch.Managers.PatchManager
|
namespace Torch.Managers.PatchManager
|
||||||
{
|
{
|
||||||
@@ -10,6 +11,7 @@ namespace Torch.Managers.PatchManager
|
|||||||
public sealed class PatchContext
|
public sealed class PatchContext
|
||||||
{
|
{
|
||||||
private readonly Dictionary<MethodBase, MethodRewritePattern> _rewritePatterns = new Dictionary<MethodBase, MethodRewritePattern>();
|
private readonly Dictionary<MethodBase, MethodRewritePattern> _rewritePatterns = new Dictionary<MethodBase, MethodRewritePattern>();
|
||||||
|
private static readonly Logger Log = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
internal PatchContext()
|
internal PatchContext()
|
||||||
{
|
{
|
||||||
|
@@ -28,6 +28,7 @@ namespace Torch
|
|||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Update() { }
|
public virtual void Update() { }
|
||||||
|
public PluginState State { get; }
|
||||||
|
|
||||||
public virtual void Dispose() { }
|
public virtual void Dispose() { }
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user