Lots and lots of changes that have brought the modular system into basic functionality. Configurable values still need to be implemented.
[VOID.git] / IVOID_Module.cs
blob:a/IVOID_Module.cs -> blob:b/IVOID_Module.cs
// //
// IVOID_Module.cs // IVOID_Module.cs
// //
// Author: // Author:
// toadicus <> // toadicus <>
// //
// Copyright (c) 2013 toadicus // Copyright (c) 2013 toadicus
// //
// This program is free software: you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or // the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>. // along with this program. If not, see <http://www.gnu.org/licenses/>.
using System; using System;
   
namespace VOID  
{  
public interface IVOID_Module  
{  
bool hasGUIConfig { get; }  
bool toggleActive { get; }  
bool guiRunning { get; }  
   
void DrawGUI();  
void StartGUI();  
void StopGUI();  
   
void LoadConfig();  
   
void SaveConfig();  
}  
}  
   
  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 {}
  }