global.gd 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #*****************************************************************************
  2. # @file global.gd
  3. # @author MakerYang(https://www.makeryang.com)
  4. # @statement 免费课程配套开源项目,任何形式收费均为盗版
  5. #*****************************************************************************
  6. extends Node
  7. # 初始化数据结构
  8. var data = {
  9. "varsion": "1.0.0",
  10. "mode": "",
  11. "server": {
  12. "port": 9000,
  13. "address": "game.makeryang.com"
  14. },
  15. "account": {
  16. "token": ""
  17. }
  18. }
  19. func _ready() -> void:
  20. # 限制窗口最小尺寸
  21. DisplayServer.window_set_min_size(Vector2(1280, 720))
  22. # 服务器模式检测
  23. if OS.has_feature("dedicated_server"):
  24. print("[服务器模式]")
  25. data["mode"] = "server"
  26. var error = Server.create_server()
  27. if error != OK:
  28. printerr("[服务器创建失败]")
  29. else:
  30. print("[客户端模式]")
  31. data["mode"] = "client"
  32. Request.on_server_ping()
  33. var error = Client.create_client()
  34. if error == OK:
  35. print("[服务器连接成功]")
  36. else:
  37. printerr("[服务器连接失败]")
  38. # 是否为服务器模式
  39. func is_server() -> bool:
  40. var server = false
  41. if data["mode"] == "server":
  42. server = true
  43. return server
  44. # 获取服务器端口
  45. func get_server_port() -> int:
  46. return data["server"]["port"]
  47. # 获取服务器IP
  48. func get_server_ip() -> String:
  49. return data["server"]["ip"]
  50. # 获取服务器地址
  51. func get_server_address() -> String:
  52. return data["server"]["address"]
  53. # 获取用户Token
  54. func get_account_token() -> String:
  55. return data["account"]["token"]
  56. # 更新并返回用户Token
  57. func update_account_token(token: String) -> String:
  58. data["account"]["token"] = token
  59. return data["account"]["token"]