diff --git a/scenes/settings.tscn b/scenes/settings.tscn index c85a05c..f4e8eb4 100644 --- a/scenes/settings.tscn +++ b/scenes/settings.tscn @@ -32,6 +32,26 @@ offset_bottom = 81.0 theme_override_fonts/font = ExtResource("2_6wm04") theme_override_font_sizes/font_size = 24 +[node name="IPBeginSetting" type="Node2D" parent="."] +position = Vector2(-1, 94) + +[node name="IPBeginSetLabel" type="Label" parent="IPBeginSetting"] +offset_left = 45.0 +offset_top = 28.0 +offset_right = 193.0 +offset_bottom = 90.0 +theme_override_fonts/font = ExtResource("2_6wm04") +theme_override_font_sizes/font_size = 30 +text = "自动识别IP地址的起始部分" + +[node name="LineEdit" type="LineEdit" parent="IPBeginSetting"] +offset_left = 424.0 +offset_top = 18.0 +offset_right = 874.0 +offset_bottom = 81.0 +theme_override_fonts/font = ExtResource("2_6wm04") +theme_override_font_sizes/font_size = 24 + [node name="SaveButton" type="Button" parent="."] offset_left = 56.0 offset_top = 520.0 diff --git a/scripts/autoload/GameManager.gd b/scripts/autoload/GameManager.gd index 5ee43d4..b7c7545 100644 --- a/scripts/autoload/GameManager.gd +++ b/scripts/autoload/GameManager.gd @@ -1,3 +1,4 @@ extends Node var data_origin: String = "" +var ip_begin: String = "192.168." \ No newline at end of file diff --git a/scripts/autoload/MultiGame.gd b/scripts/autoload/MultiGame.gd index 39849e9..c2f63f5 100644 --- a/scripts/autoload/MultiGame.gd +++ b/scripts/autoload/MultiGame.gd @@ -1,17 +1,14 @@ extends Node -var isServer: bool -# 基于低级 ENet 多人游戏 +# 基于 ENet 多人游戏 func create_server(player_num: int) -> void: - isServer = true var peer = ENetMultiplayerPeer.new() peer.create_server(8989, player_num) multiplayer.multiplayer_peer = peer func create_client(ip: String) -> void: - isServer = false var peer = ENetMultiplayerPeer.new() peer.create_client(ip, 8989) multiplayer.multiplayer_peer = peer \ No newline at end of file diff --git a/scripts/game/game.gd b/scripts/game/game.gd index fb051f1..50dd47b 100644 --- a/scripts/game/game.gd +++ b/scripts/game/game.gd @@ -4,7 +4,7 @@ func _ready() -> void: init() func init() -> void: - if MultiGame.isServer: + if multiplayer.is_server(): $IsServerLabel.text = "房间运行中:您是房主" else: $IsServerLabel.text = "房间运行中:您是房客" @@ -12,6 +12,6 @@ func init() -> void: var addresses: PackedStringArray = IP.get_local_addresses() var ipaddress: String = "" for address in addresses: - if address.substr(0, 8) == "192.168.": + if address.substr(0, GameManager.ip_begin.length()) == GameManager.ip_begin: ipaddress = address $IPLabel.text = ipaddress diff --git a/scripts/settings/settings.gd b/scripts/settings/settings.gd index 872d9a8..202bed2 100644 --- a/scripts/settings/settings.gd +++ b/scripts/settings/settings.gd @@ -2,9 +2,11 @@ extends Node2D func _ready() -> void: $DataSetting/LineEdit.text = GameManager.data_origin + $IPBeginSetting/LineEdit.text = GameManager.ip_begin func _on_save_button_pressed() -> void: GameManager.data_origin = $DataSetting/LineEdit.text + GameManager.ip_begin = $IPBeginSetting/LineEdit.text SceneManager.goto_scene("main_menu")