Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
NetGameServer.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: NetGameServer.h
7  AUTHOR: John DiCamillo
8 
9 
10  OVERVIEW
11  ========
12  Server-Side Network Game Manager class
13 */
14 
15 #ifndef NetGameServer_h
16 #define NetGameServer_h
17 
18 #include "NetGame.h"
19 #include "SimObject.h"
20 
21 // +--------------------------------------------------------------------+
22 
23 class NetChatMsg;
24 
25 // +--------------------------------------------------------------------+
26 
27 class NetGameServer : public NetGame, public SimObserver
28 {
29 public:
30  NetGameServer();
31  virtual ~NetGameServer();
32 
33  virtual bool IsClient() const { return false; }
34  virtual bool IsServer() const { return true; }
35 
36  virtual void ExecFrame();
37  virtual void CheckSessions();
38 
39  virtual void Send();
40  virtual void SendData(NetData* data);
41  virtual void Respawn(DWORD objid, Ship* spawn);
42 
43  virtual bool Update(SimObject* obj);
44  virtual const char* GetObserverName() const;
45 
46  virtual void RouteChatMsg(NetChatMsg& chat_msg);
47 
48 protected:
49  virtual void DoJoinRequest(NetMsg* msg);
50  virtual void DoJoinAnnounce(NetMsg* msg);
51  virtual void DoQuitRequest(NetMsg* msg);
52  virtual void DoQuitAnnounce(NetMsg* msg);
53  virtual void DoGameOver(NetMsg* msg);
54  virtual void DoDisconnect(NetMsg* msg);
55 
56  virtual void DoObjLoc(NetMsg* msg);
57  virtual void DoObjDamage(NetMsg* msg);
58  virtual void DoObjKill(NetMsg* msg);
59  virtual void DoObjSpawn(NetMsg* msg);
60  virtual void DoObjHyper(NetMsg* msg);
61  virtual void DoObjTarget(NetMsg* msg);
62  virtual void DoObjEmcon(NetMsg* msg);
63  virtual void DoSysDamage(NetMsg* msg);
64  virtual void DoSysStatus(NetMsg* msg);
65 
66  virtual void DoElemRequest(NetMsg* msg);
67  virtual void DoElemCreate(NetMsg* msg);
68  virtual void DoShipLaunch(NetMsg* msg);
69  virtual void DoNavData(NetMsg* msg);
70  virtual void DoNavDelete(NetMsg* msg);
71 
72  virtual void DoWepTrigger(NetMsg* msg);
73  virtual void DoWepRelease(NetMsg* msg);
74  virtual void DoWepDestroy(NetMsg* msg);
75 
76  virtual void DoCommMsg(NetMsg* msg);
77  virtual void DoChatMsg(NetMsg* msg);
78  virtual void DoSelfDestruct(NetMsg* msg);
79 
80  virtual NetPlayer* FindZombieByObjID(DWORD objid);
81  virtual void SendDisconnect(NetPlayer* zombie);
82 
85 };
86 
87 // +--------------------------------------------------------------------+
88 
89 #endif NetGameServer_h
90