ToolbarButtonWrapper: Added OnMouseEnter and OnMouseLeave for Toolbar version 1.2.1.
ToolbarButtonWrapper: Added OnMouseEnter and OnMouseLeave for Toolbar version 1.2.1.

--- a/ToolbarButtonWrapper.cs
+++ b/ToolbarButtonWrapper.cs
@@ -135,6 +135,10 @@
 		protected PropertyInfo ButtonImportant;
 		protected EventInfo ButtonOnClick;
 		protected System.Type ClickHandlerType;
+		protected EventInfo ButtonOnMouseEnter;
+		protected System.Type MouseEnterHandlerType;
+		protected EventInfo ButtonOnMouseLeave;
+		protected System.Type MouseLeaveHandlerType;
 		protected MethodInfo ButtonDestroy;
 		protected System.Type GameScenesVisibilityType;
 
@@ -299,6 +303,8 @@
 		/// <param name="id">Identifier, unique per namespace.</param>
 		protected ToolbarButtonWrapper(object button)
 		{
+			this.Button = button;
+
 			this.IButton = AssemblyLoader.loadedAssemblies
 				.Select(a => a.assembly.GetExportedTypes())
 				.SelectMany(t => t)
@@ -366,13 +372,28 @@
 			));
 
 			this.ButtonOnClick = this.IButton.GetEvent("OnClick");
-			this.ClickHandlerType = this.ButtonOnClick.EventHandlerType;
-
-			Tools.PostDebugMessage(string.Format(
-				"{0}: Got 'OnClick' event '{1}'.  Getting 'Destroy' method.",
+
+			Tools.PostDebugMessage(string.Format(
+				"{0}: Got 'OnClick' event '{1}'.  Getting 'OnMouseEnter' event.",
 				this.GetType().Name,
 				this.ButtonOnClick.ToString()
 			));
+
+			this.ButtonOnMouseEnter = this.IButton.GetEvent("OnMouseEnter");
+
+			Tools.PostDebugMessage(string.Format(
+				"{0}: Got 'OnMouseEnter' event '{1}'.  Getting 'OnMouseLeave' event.",
+				this.GetType().Name,
+				this.ButtonOnClick.ToString()
+				));
+
+			this.ButtonOnMouseLeave = this.IButton.GetEvent("OnMouseLeave");
+
+			Tools.PostDebugMessage(string.Format(
+				"{0}: Got 'OnMouseLeave' event '{1}'.  Getting 'Destroy' method.",
+				this.GetType().Name,
+				this.ButtonOnClick.ToString()
+				));
 
 			this.ButtonDestroy = this.IButton.GetMethod("Destroy");
 
@@ -413,8 +434,23 @@
 		/// <param name="Handler">Delegate to handle "on click" events</param>
 		public void AddButtonClickHandler(Action<object> Handler)
 		{
-			Delegate d = Delegate.CreateDelegate(this.ClickHandlerType, Handler.Target, Handler.Method);
-			MethodInfo addHandler = this.ButtonOnClick.GetAddMethod();
+			this.AddButtonEventHandler(this.ButtonOnClick, Handler);
+		}
+
+		public void AddButtonOnMouseEnterHandler(Action<object> Handler)
+		{
+			this.AddButtonEventHandler(this.ButtonOnMouseEnter, Handler);
+		}
+
+		public void AddButtonOnMouseLeaveHandler(Action<object> Handler)
+		{
+			this.AddButtonEventHandler(this.ButtonOnMouseLeave, Handler);
+		}
+
+		protected void AddButtonEventHandler(EventInfo Event, Action<object> Handler)
+		{
+			Delegate d = Delegate.CreateDelegate(Event.EventHandlerType, Handler.Target, Handler.Method);
+			MethodInfo addHandler = Event.GetAddMethod();
 			addHandler.Invoke(this.Button, new object[] { d });
 		}
 

--- a/VOID_Core.cs
+++ b/VOID_Core.cs
@@ -69,7 +69,7 @@
 		 * Fields
 		 * */
 		protected string VoidName = "VOID";
-		protected string VoidVersion = "0.9.18";
+		protected string VoidVersion = "0.9.19";
 		protected bool _factoryReset = false;
 		[AVOID_SaveValue("configValue")]
 		protected VOID_SaveValue<int> configVersion = 1;
@@ -441,7 +441,7 @@
 		{
 			this.ToolbarButton = ToolbarButtonWrapper.TryWrapToolbarButton(this.GetType().Name, "coreToggle");
 			this.ToolbarButton.Text = this.VoidName;
-			this.ToolbarButton.TexturePath = this.VOIDIconOffPath + "_24x24";
+			this.ToolbarButton.TexturePath = this.VOIDIconOffPath;
 			if (this is VOID_EditorCore)
 			{
 				this.ToolbarButton.SetButtonVisibility(new GameScenes[] { GameScenes.EDITOR });