BMA Server Framework
/home/barant/Documents/Development/BMASockets/BMAGameSession.h
1 #ifndef __BMAGameSession_h__
2 #define __BMAGameSession_h__
3 
4 #include "BMASession.h"
5 #include "BMAGameServer.h"
6 
7 class BMAGameSession : public BMASession {
8 
9  public:
10  BMAGameSession(BMAEPoll &ePoll, BMAGameServer &server);
11  ~BMAGameSession();
12 
13  std::string playerName;
14  bool isAuthenticated = false;
15  int zoneId = 1;
16  std::string pos;
17 
18  protected:
19  void protocol(std::string data) override;
20  void output(BMASession *session);
21 
22  private:
23  void login(std::string data);
24  void sendSpawnList();
25 
26  class checkAuthenticatedandInZone : public BMASessionFilter {
27  public:
28  int zoneId;
29  checkAuthenticatedandInZone(int zoneId) : zoneId(zoneId) {};
30  bool test(BMASession &session) override {
31  return (((BMAGameSession &)session).zoneId == zoneId) && ((BMAGameSession &)session).isAuthenticated;
32  }
33  };
34 
35 };
36 
37 #endif
Definition: BMAEPoll.h:29
Definition: BMASessionFilter.h:4
Definition: BMASession.h:18
Definition: BMAGameServer.h:9
Definition: BMAGameSession.h:7