优化项目架构
This commit is contained in:
72
SproutFarm-Frontend/Script/BigPanel/SpecialFarmPanel.gd
Normal file
72
SproutFarm-Frontend/Script/BigPanel/SpecialFarmPanel.gd
Normal file
@@ -0,0 +1,72 @@
|
||||
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
|
||||
Reference in New Issue
Block a user