Initial commit (1.0_dev)
[VOID.git] / IVOID_Module.cs
blob:a/IVOID_Module.cs -> blob:b/IVOID_Module.cs
--- a/IVOID_Module.cs
+++ b/IVOID_Module.cs
@@ -1,34 +1,50 @@
-//

-//  IVOID_Module.cs

-//

-//  Author:

-//       toadicus <>

-//

-//  Copyright (c) 2013 toadicus

-//

-//  This program is free software: you can redistribute it and/or modify

-//  it under the terms of the GNU General Public License as published by

-//  the Free Software Foundation, either version 3 of the License, or

-//  (at your option) any later version.

-//

-//  This program is distributed in the hope that it will be useful,

-//  but WITHOUT ANY WARRANTY; without even the implied warranty of

-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

-//  GNU General Public License for more details.

-//

-//  You should have received a copy of the GNU General Public License

-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.

-using System;

-

-namespace VOID

-{

-	public interface IVOID_Module

-	{

-		void DrawGUI();

-

-		void LoadConfig();

-

-		void SaveConfig();

-	}

-}

+//
+//  IVOID_Module.cs
+//
+//  Author:
+//       toadicus <>
+//
+//  Copyright (c) 2013 toadicus
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+using System;
 
+namespace VOID
+{
+	public interface IVOID_Module
+	{
+		string Name { get; }
+		bool toggleActive { get; set; }
+		bool guiRunning { get; }
+
+		void DrawGUI();
+		void StartGUI();
+		void StopGUI();
+
+		void DrawConfigurables();
+
+		void LoadConfig();
+
+		void _SaveToConfig(KSP.IO.PluginConfiguration config);
+	}
+
+	public interface IVOID_BehaviorModule : IVOID_Module
+	{
+		void Update();
+		void FixedUpdate();
+	}
+
+	public interface IVOID_EditorModule : IVOID_Module {}
+}
+