Files
Sprout-Farm/SproutFarm-Frontend/Script/BigPanel/SpecialFarmPanel.gd
2025-09-15 19:10:37 +08:00

73 lines
2.1 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
#访问花卉农场QQ520
func _on_flower_farm_button_pressed() -> void:
_visit_special_farm("520", "花卉农场")
#访问杂交农场QQ666
func _on_hybrid_farm_button_pressed() -> void:
_visit_special_farm("666", "杂交农场")
#访问幸运农场QQ888
func _on_lucky_farm_button_pressed() -> void:
_visit_special_farm("888", "幸运农场")
#访问稻谷农场QQ111
func _on_rice_farm_button_pressed() -> void:
_visit_special_farm("111", "稻谷农场")
#访问小麦农场QQ222
func _on_wheat_farm_button_pressed() -> void:
_visit_special_farm("222", "小麦农场")
#访问水果农场QQ333
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