73 lines
2.1 KiB
GDScript
73 lines
2.1 KiB
GDScript
extends Panel
|
||
|
||
# 预添加常用的面板
|
||
@onready var main_game = get_node("/root/main")
|
||
@onready var tcp_network_manager_panel: Panel = $'../TCPNetworkManagerPanel'
|
||
|
||
func _ready() -> void:
|
||
self.hide()
|
||
visibility_changed.connect(_on_visibility_changed)
|
||
pass
|
||
|
||
func _on_quit_button_pressed() -> void:
|
||
self.hide()
|
||
pass
|
||
|
||
#访问花卉农场QQ:520
|
||
func _on_flower_farm_button_pressed() -> void:
|
||
_visit_special_farm("520", "花卉农场")
|
||
|
||
#访问杂交农场QQ:666
|
||
func _on_hybrid_farm_button_pressed() -> void:
|
||
_visit_special_farm("666", "杂交农场")
|
||
|
||
#访问幸运农场QQ:888
|
||
func _on_lucky_farm_button_pressed() -> void:
|
||
_visit_special_farm("888", "幸运农场")
|
||
|
||
#访问稻谷农场QQ:111
|
||
func _on_rice_farm_button_pressed() -> void:
|
||
_visit_special_farm("111", "稻谷农场")
|
||
|
||
#访问小麦农场QQ:222
|
||
func _on_wheat_farm_button_pressed() -> void:
|
||
_visit_special_farm("222", "小麦农场")
|
||
|
||
#访问水果农场QQ:333
|
||
func _on_fruit_farm_button_pressed() -> void:
|
||
_visit_special_farm("333", "水果农场")
|
||
|
||
# 访问特殊农场的通用函数
|
||
func _visit_special_farm(farm_qq: String, farm_name: String) -> void:
|
||
# 访问农场后取消禁用相机功能,否则无法恢复
|
||
GlobalVariables.isZoomDisabled = false
|
||
|
||
# 检查网络连接
|
||
if not tcp_network_manager_panel or not tcp_network_manager_panel.is_connected_to_server():
|
||
Toast.show("未连接服务器,无法访问" + farm_name, Color.RED)
|
||
return
|
||
|
||
# 检查是否尝试访问自己
|
||
if main_game and main_game.user_name == farm_qq:
|
||
Toast.show("不能访问自己的农场", Color.ORANGE)
|
||
return
|
||
|
||
# 发送访问特殊农场请求
|
||
if tcp_network_manager_panel and tcp_network_manager_panel.has_method("sendVisitPlayer"):
|
||
var success = tcp_network_manager_panel.sendVisitPlayer(farm_qq)
|
||
if success:
|
||
Toast.show("正在访问" + farm_name + "...", Color.YELLOW)
|
||
# 隐藏面板
|
||
self.hide()
|
||
else:
|
||
Toast.show("发送访问请求失败", Color.RED)
|
||
else:
|
||
Toast.show("网络管理器不可用", Color.RED)
|
||
|
||
# 面板显示与隐藏切换处理
|
||
func _on_visibility_changed():
|
||
if visible:
|
||
GlobalVariables.isZoomDisabled = true
|
||
else:
|
||
GlobalVariables.isZoomDisabled = false
|