LocalStorage.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. var PREFS_FILE = "SpaceGameMultiPlayer.json";
  2. // Defaults
  3. var MASTER_SERVER_IP = "52.37.100.204";
  4. var MASTER_SERVER_PORT = 41234;
  5. var SERVER_PORT = 27000;
  6. var filesystem = Atomic.getFileSystem();
  7. // Get out documents folder
  8. var documentsDir = filesystem.getUserDocumentsDir();
  9. var prefFilePath = documentsDir + PREFS_FILE;
  10. function LocalStorage() {
  11. }
  12. function getJSONPrefData() {
  13. if (filesystem.fileExists(prefFilePath)) {
  14. var file = new Atomic.File(prefFilePath, Atomic.FILE_READ);
  15. // Read the data string and parse the JSON back to an object
  16. var fileData = file.readString();
  17. var json = JSON.parse(fileData);
  18. return json;
  19. }
  20. return {};
  21. }
  22. LocalStorage.prototype.setServerName = function(serverName) {
  23. var mydata = getJSONPrefData();
  24. mydata.server_name = serverName;
  25. var file = new Atomic.File(prefFilePath, Atomic.FILE_WRITE);
  26. // Convert the data object to a string and write it
  27. file.writeString(JSON.stringify(mydata));
  28. // close the file
  29. file.close();
  30. };
  31. LocalStorage.prototype.getServerName = function() {
  32. var json = getJSONPrefData();
  33. if (json.server_name) {
  34. return json.server_name;
  35. }
  36. return "Server";
  37. };
  38. LocalStorage.prototype.getServerPort = function() {
  39. var json = getJSONPrefData();
  40. if (json.server_port) {
  41. return json.server_port;
  42. }
  43. return SERVER_PORT;
  44. };
  45. LocalStorage.prototype.getMasterServerIP = function() {
  46. var json = getJSONPrefData();
  47. if (json.master_server_ip) {
  48. return json.master_server_ip;
  49. }
  50. return MASTER_SERVER_IP;
  51. };
  52. LocalStorage.prototype.getMasterServerPort = function() {
  53. var json = getJSONPrefData();
  54. if (json.master_server_port) {
  55. return json.master_server_port;
  56. }
  57. return MASTER_SERVER_PORT;
  58. };
  59. LocalStorage.prototype.setPlayerName = function(playerName) {
  60. var mydata = getJSONPrefData();
  61. mydata.player_name = playerName;
  62. var file = new Atomic.File(prefFilePath, Atomic.FILE_WRITE);
  63. // Convert the data object to a string and write it
  64. file.writeString(JSON.stringify(mydata));
  65. // close the file
  66. file.close();
  67. };
  68. LocalStorage.prototype.getPlayerName = function() {
  69. var json = getJSONPrefData();
  70. if (json.player_name) {
  71. return json.player_name;
  72. }
  73. return "Player";
  74. };
  75. Atomic.localStorage = exports.localStorage = new LocalStorage();