00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TEDDY__SPACE_GAME__USER_INTERFACE_H
00026 #define TEDDY__SPACE_GAME__USER_INTERFACE_H
00027
00028
00029
00030 namespace Teddy {
00031 namespace Graphics { class View; };
00032 namespace PhysicalComponents { class Console; };
00033 namespace PhysicalComponents { class Layer; };
00034 namespace PhysicalComponents { class Projection; };
00035 namespace PhysicalComponents { class WindowManager; };
00036 };
00037 using namespace Teddy::Graphics;
00038 using namespace Teddy::PhysicalComponents;
00039
00040
00041 namespace Teddy {
00042 namespace SpaceGame {
00043
00044
00045 class Root;
00046 class FrontCamera;
00047 class Hud;
00048 class Scanner;
00049 class Sight;
00050 class SimpleText;
00051
00052
00057 class UserInterface {
00058 public:
00059 UserInterface( Root *root );
00060
00061 void addComponents ();
00062 void enterRunLoop ();
00063 View *getView ();
00064 Console *getConsole ();
00065 Scanner *getScanner ();
00066 Projection *getActiveProjection();
00067 void toggleCamera ();
00068
00069 protected:
00070 Root *root;
00071 View *view;
00072 WindowManager *window_manager;
00073 Console *console;
00074 Layer *layer;
00075 FrontCamera *front_camera;
00076 FrontCamera *front_camera2;
00077 Sight *sight;
00078 Hud *hud;
00079 Scanner *scanner;
00080 unsigned long flags;
00081 };
00082
00083
00084 };
00085 };
00086
00087
00088 #endif // TEDDY__SPACE_GAME__USER_INTERFACE_H
00089