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