00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _CCOMCOM_H
00009 #define _CCOMCOM_H
00010
00011 class cComputer;
00012 class cComcom;
00013 class cTarcom;
00014 class cWepcom;
00015 class cSyscom;
00016 class cForcom;
00017 class cNavcom;
00018
00019 #include "cObject.h"
00020 #include "cMech.h"
00021
00022 class cComputer {
00023 public:
00024 virtual void drawHUD() = 0;
00025 virtual void process(float spf) = 0;
00026 };
00027
00033 class cComcom : public cComputer {
00034 protected:
00035 cObject* mDevice;
00036 Console* mConsole;
00037 OID mLastMessage;
00038 public:
00039 cComcom(cObject* device);
00040 void process(float spf);
00041 void drawHUD();
00042 };
00043
00047 class cTarcom : public cComputer {
00048 public:
00049 cObject* mDevice;
00050 public:
00051 cTarcom(cObject* device);
00052 void process(float spf);
00053 void drawHUD();
00054 };
00055
00059 class cSyscom : public cComputer {
00060 public:
00061 cObject* mDevice;
00062 public:
00063 cSyscom(cObject* device);
00064 void process(float spf);
00065 void drawHUD();
00066 };
00067
00071 class cWepcom : public cComputer {
00072 public:
00073 cObject* mDevice;
00074 public:
00075 cWepcom(cObject* device);
00076 void process(float spf);
00077 void drawHUD();
00078 };
00079
00083 class cForcom : public cComputer {
00084 public:
00085 cMech* mDevice;
00086 public:
00087 cForcom(cMech* device);
00088 void process(float spf);
00089 void drawHUD();
00090 };
00091
00092
00093
00094
00095
00096 class cNavcom : public cComputer {
00097 public:
00098 cObject* mDevice;
00099 int mWaypoint;
00100 bool mCyclic;
00101 std::vector< int > mRoute;
00102 std::vector< std::vector<float> > mPOIs;
00103 public:
00104 cNavcom(cObject* device);
00105 void process(float spf);
00106 void drawHUD();
00107 };
00108
00109
00110 #endif
00111