summaryrefslogtreecommitdiff
path: root/src/Console.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Console.h')
-rw-r--r--src/Console.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/Console.h b/src/Console.h
new file mode 100644
index 0000000..657f935
--- /dev/null
+++ b/src/Console.h
@@ -0,0 +1,48 @@
+#ifndef CONSOLE_H
+#define CONSOLE_H
+
+#include <string>
+#include <vector>
+
+#include "interface/Sandbox.h"
+#include "Simulation.h"
+
+class ConsoleCommand
+{
+private:
+ std::string * command;
+ int returnStatus;
+ std::string * returnString;
+public:
+ void SetCommand(std::string * command);
+ void SetError(std::string * error);
+ std::string * GetCommand();
+ std::string * GetError();
+ ConsoleCommand();
+ ConsoleCommand(std::string * command, int returnStatus, std::string * returnString = new std::string(""));
+};
+
+class Console
+{
+private:
+ bool sound_enable;
+ bool file_script;
+ std::vector<ConsoleCommand> * previousCommands;
+ std::string * lastError;
+ ui::Sandbox * sandbox;
+ Simulation * sim;
+public:
+ virtual void Tick(float * dt);
+ int ParseType(char * txt);
+ int ParsePartref(char * txt);
+ int ParseCoords(char * coords, int *x, int *y);
+ virtual void ConsoleShown();
+ virtual void ConsoleHidden();
+ virtual int ProcessCommand(char * console);
+ virtual std::string * GetLastError();
+ virtual std::vector<ConsoleCommand> * GetPreviousCommands();
+ Console(ui::Sandbox * sandbox);
+ virtual ~Console();
+};
+
+#endif // CONSOLE_H