HelloPolycodeApp.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <Polycode.h>
  2. #include "PolycodeView.h"
  3. #include "NetworkingExampleGlobals.h"
  4. using namespace Polycode;
  5. class Player {
  6. public:
  7. Vector2 position;
  8. Number angle;
  9. SceneEntity *playerEntity;
  10. ServerClient *client;
  11. char turning_state;
  12. char thrusting;
  13. Number moveSpeed;
  14. Number rotateSpeed;
  15. ServerClientInfo getClientInfo() {
  16. ServerClientInfo info;
  17. info.clientID = client->clientID;
  18. info.state = 1;
  19. info.posX = position.x;
  20. info.posY = position.y;
  21. info.angle = angle;
  22. return info;
  23. }
  24. };
  25. class HelloPolycodeApp : public ServerWorld, EventHandler {
  26. public:
  27. HelloPolycodeApp(PolycodeView *view);
  28. ~HelloPolycodeApp();
  29. void updateWorld(Number elapsed);
  30. void getWorldState(ServerClient *client, char **worldData,unsigned int *worldDataSize);
  31. bool Update();
  32. void handleEvent(Event *event);
  33. private:
  34. Core *core;
  35. Scene *gameScene;
  36. SceneLabel *infoLabel;
  37. Server *server;
  38. vector<Player*> players;
  39. ServerState serverState;
  40. ServerInfo serverInfo;
  41. };