RemotePlayerClient.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. 'atomic component';
  2. exports.component = function(self) {
  3. var KEY_LEFT = 1;
  4. var KEY_RIGHT = 2;
  5. var KEY_SHOOT = 4;
  6. var game = Atomic.game;
  7. var input = game.input;
  8. self.clientToServerConnection = null;
  9. self.init = function(_clientToServerConnection) {
  10. self.clientToServerConnection = _clientToServerConnection;
  11. var hudnode = game.scene.createChild();
  12. self.hud = hudnode.createJSComponent("Components/HUD.js");
  13. Atomic.network.subscribeToEvent("NetworkStringMessage", function(msg) {
  14. var data = JSON.parse(msg['Data']);
  15. if (data.score) {
  16. self.updateScore(data.score);
  17. }
  18. });
  19. };
  20. self.cleanup = function() {
  21. print("In cleanup for RemotePlayerClient");
  22. self.hud.cleanup();
  23. };
  24. self.updateScore = function(score) {
  25. self.hud.updateScore(score);
  26. };
  27. self.update = function(timeStep) {
  28. if (!self.clientToServerConnection) {
  29. return;
  30. }
  31. var leftKeyDown = false;
  32. var rightKeyDown = false;
  33. var shootKeyDown = false;
  34. if (input.getKeyDown(Atomic.KEY_A) || input.getKeyDown(Atomic.KEY_LEFT))
  35. leftKeyDown = true;
  36. if (input.getKeyDown(Atomic.KEY_D) || input.getKeyDown(Atomic.KEY_RIGHT))
  37. rightKeyDown = true;
  38. if (input.getKeyDown(Atomic.KEY_W) || input.getKeyDown(Atomic.KEY_UP) || input.getKeyDown(Atomic.KEY_SPACE))
  39. shootKeyDown = true;
  40. // Update the connection controls
  41. self.clientToServerConnection.setControlButtons(KEY_LEFT,leftKeyDown);
  42. self.clientToServerConnection.setControlButtons(KEY_RIGHT,rightKeyDown);
  43. self.clientToServerConnection.setControlButtons(KEY_SHOOT,shootKeyDown);
  44. };
  45. };