HelloPolycodeApp.h 1.0 KB

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