2012-01-11 16:59:45 -06:00
|
|
|
#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;
|
2012-01-14 12:51:24 -06:00
|
|
|
std::string * returnString;
|
2012-01-11 16:59:45 -06:00
|
|
|
public:
|
|
|
|
void SetCommand(std::string * command);
|
|
|
|
void SetError(std::string * error);
|
|
|
|
std::string * GetCommand();
|
|
|
|
std::string * GetError();
|
|
|
|
ConsoleCommand();
|
2012-01-14 12:51:24 -06:00
|
|
|
ConsoleCommand(std::string * command, int returnStatus, std::string * returnString = new std::string(""));
|
2012-01-11 16:59:45 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
class Console
|
|
|
|
{
|
|
|
|
private:
|
2012-01-14 12:51:24 -06:00
|
|
|
bool sound_enable;
|
|
|
|
bool file_script;
|
2012-01-11 16:59:45 -06:00
|
|
|
std::vector<ConsoleCommand> * previousCommands;
|
|
|
|
std::string * lastError;
|
|
|
|
ui::Sandbox * sandbox;
|
|
|
|
Simulation * sim;
|
|
|
|
public:
|
|
|
|
virtual void Tick(float * dt);
|
2012-01-14 12:51:24 -06:00
|
|
|
int ParseType(char * txt);
|
|
|
|
int ParsePartref(char * txt);
|
|
|
|
int ParseCoords(char * coords, int *x, int *y);
|
2012-01-11 16:59:45 -06:00
|
|
|
virtual void ConsoleShown();
|
|
|
|
virtual void ConsoleHidden();
|
2012-01-14 12:51:24 -06:00
|
|
|
virtual int ProcessCommand(char * console);
|
2012-01-11 16:59:45 -06:00
|
|
|
virtual std::string * GetLastError();
|
|
|
|
virtual std::vector<ConsoleCommand> * GetPreviousCommands();
|
|
|
|
Console(ui::Sandbox * sandbox);
|
|
|
|
virtual ~Console();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // CONSOLE_H
|