feat: 完成设置部分和游戏内房主房客身份及IP地址的识别
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
extends Node
|
||||
|
||||
var data_origin: String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://c11tksjyetdby
|
||||
@@ -1,11 +1,17 @@
|
||||
extends Node
|
||||
|
||||
var isServer: bool
|
||||
|
||||
# 基于低级 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
|
||||
@@ -0,0 +1,11 @@
|
||||
extends Node
|
||||
|
||||
var current_scene = null
|
||||
|
||||
func _ready():
|
||||
var root = get_tree().root
|
||||
current_scene = root.get_child(root.get_child_count() - 1)
|
||||
|
||||
func goto_scene(path: String):
|
||||
current_scene = path
|
||||
get_tree().change_scene_to_file("res://scenes/%s.tscn" % [path])
|
||||
@@ -0,0 +1 @@
|
||||
uid://dxogo0f6xslqs
|
||||
@@ -0,0 +1,17 @@
|
||||
extends Node2D
|
||||
|
||||
func _ready() -> void:
|
||||
init()
|
||||
|
||||
func init() -> void:
|
||||
if MultiGame.isServer:
|
||||
$IsServerLabel.text = "房间运行中:您是房主"
|
||||
else:
|
||||
$IsServerLabel.text = "房间运行中:您是房客"
|
||||
|
||||
var addresses: PackedStringArray = IP.get_local_addresses()
|
||||
var ipaddress: String = ""
|
||||
for address in addresses:
|
||||
if address.substr(0, 8) == "192.168.":
|
||||
ipaddress = address
|
||||
$IPLabel.text = ipaddress
|
||||
@@ -0,0 +1 @@
|
||||
uid://78lmrp321x85
|
||||
@@ -6,6 +6,7 @@ func _on_create_game_button_pressed() -> void:
|
||||
if 2 <= player_num and player_num <= 4:
|
||||
MultiGame.create_server(int(player_num))
|
||||
$".".hide()
|
||||
SceneManager.goto_scene("game")
|
||||
else:
|
||||
$Warn.show()
|
||||
|
||||
|
||||
@@ -5,3 +5,4 @@ func _on_join_game_button_pressed() -> void:
|
||||
var ip: String = $JoinGameEdit.text
|
||||
MultiGame.create_client(ip)
|
||||
$".".hide()
|
||||
SceneManager.goto_scene("game")
|
||||
|
||||
@@ -6,3 +6,7 @@ func _on_join_game_pressed() -> void:
|
||||
|
||||
func _on_start_game_pressed() -> void:
|
||||
$CreateGameUI.show()
|
||||
|
||||
|
||||
func _on_setting_button_pressed() -> void:
|
||||
SceneManager.goto_scene("settings")
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
extends Node2D
|
||||
|
||||
func _ready() -> void:
|
||||
$DataSetting/LineEdit.text = GameManager.data_origin
|
||||
|
||||
func _on_save_button_pressed() -> void:
|
||||
GameManager.data_origin = $DataSetting/LineEdit.text
|
||||
SceneManager.goto_scene("main_menu")
|
||||
|
||||
|
||||
func _on_cancel_button_pressed() -> void:
|
||||
SceneManager.goto_scene("main_menu")
|
||||
@@ -0,0 +1 @@
|
||||
uid://deltvf06kqovt
|
||||
Reference in New Issue
Block a user