forked from datawhale/whale-town-front
fix: 修复交互与通知板问题
- 修复Z轴逻辑调整精灵与物品的排序 - 渲染前强制 content_container.modulate.a = 1.0,避免内容区被透明度状态卡住导致看起来空白
This commit is contained in:
@@ -11,4 +11,4 @@ texture = ExtResource("1_jrtph")
|
|||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||||
position = Vector2(152, 16)
|
position = Vector2(152, 16)
|
||||||
polygon = PackedVector2Array(-456, -48, -192, -48, -192, -112, -120, -112, -120, -56, 168, -48, 168, -696, -472, -688, -472, -48)
|
polygon = PackedVector2Array(-456, -48, -192, -48, -192, -72, -152, -72, -120, -72, -120, -56, 168, -48, 168, -696, -472, -688, -472, -48)
|
||||||
|
|||||||
@@ -1079,15 +1079,11 @@ tile_set = SubResource("TileSet_0xqio")
|
|||||||
z_index = -1
|
z_index = -1
|
||||||
position = Vector2(0, 320)
|
position = Vector2(0, 320)
|
||||||
|
|
||||||
[node name="NoticeBoard" parent="." instance=ExtResource("16_rixdf")]
|
[node name="NPC" parent="." instance=ExtResource("15_0xqio")]
|
||||||
z_index = 1
|
position = Vector2(-81, -64)
|
||||||
position = Vector2(-184, -76)
|
|
||||||
|
|
||||||
[node name="WelcomeBoard" parent="." instance=ExtResource("16_edt5w")]
|
[node name="DataWhaleHome" parent="." instance=ExtResource("16_m4als")]
|
||||||
z_index = 1
|
position = Vector2(8, -128)
|
||||||
y_sort_enabled = true
|
|
||||||
position = Vector2(128, -80)
|
|
||||||
script = ExtResource("16_u1t8b")
|
|
||||||
|
|
||||||
[node name="DefaultSpawn" type="Marker2D" parent="."]
|
[node name="DefaultSpawn" type="Marker2D" parent="."]
|
||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
@@ -1097,14 +1093,8 @@ position = Vector2(647, 500)
|
|||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
position = Vector2(648, 24)
|
position = Vector2(648, 24)
|
||||||
|
|
||||||
[node name="NPC" parent="." instance=ExtResource("15_0xqio")]
|
|
||||||
position = Vector2(-81, -64)
|
|
||||||
|
|
||||||
[node name="DataWhaleHome" parent="." instance=ExtResource("16_m4als")]
|
|
||||||
position = Vector2(8, -128)
|
|
||||||
|
|
||||||
[node name="DoorArea" type="Area2D" parent="."]
|
[node name="DoorArea" type="Area2D" parent="."]
|
||||||
position = Vector2(0, 5)
|
position = Vector2(2, 14)
|
||||||
script = ExtResource("18_0xqio")
|
script = ExtResource("18_0xqio")
|
||||||
target_scene_name = "room"
|
target_scene_name = "room"
|
||||||
target_spawn_name = "FromSquare"
|
target_spawn_name = "FromSquare"
|
||||||
@@ -1114,8 +1104,17 @@ position = Vector2(644, -62.5)
|
|||||||
shape = SubResource("RectangleShape2D_edt5w")
|
shape = SubResource("RectangleShape2D_edt5w")
|
||||||
|
|
||||||
[node name="Community" parent="." instance=ExtResource("16_0xqio")]
|
[node name="Community" parent="." instance=ExtResource("16_0xqio")]
|
||||||
|
y_sort_enabled = true
|
||||||
position = Vector2(646, 3)
|
position = Vector2(646, 3)
|
||||||
|
|
||||||
|
[node name="NoticeBoard" parent="." instance=ExtResource("16_rixdf")]
|
||||||
|
position = Vector2(-216, -72)
|
||||||
|
|
||||||
|
[node name="WelcomeBoard" parent="." instance=ExtResource("16_edt5w")]
|
||||||
|
y_sort_enabled = true
|
||||||
|
position = Vector2(128, -80)
|
||||||
|
script = ExtResource("16_u1t8b")
|
||||||
|
|
||||||
[node name="Boundaries" type="Node2D" parent="."]
|
[node name="Boundaries" type="Node2D" parent="."]
|
||||||
|
|
||||||
[node name="StaticBody2D" type="StaticBody2D" parent="Boundaries"]
|
[node name="StaticBody2D" type="StaticBody2D" parent="Boundaries"]
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extends StaticBody2D
|
|||||||
func interact():
|
func interact():
|
||||||
# Check if dialog already exists
|
# Check if dialog already exists
|
||||||
if get_tree().root.has_node("NoticeDialog"):
|
if get_tree().root.has_node("NoticeDialog"):
|
||||||
return
|
return null
|
||||||
|
|
||||||
var dialog = preload("res://scenes/ui/notice_dialog.tscn").instantiate()
|
var dialog = preload("res://scenes/ui/notice_dialog.tscn").instantiate()
|
||||||
dialog.name = "NoticeDialog"
|
dialog.name = "NoticeDialog"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://b4aildrnhbpl4" path="res://assets/materials/NoticeBoard.png" id="2_sprite"]
|
[ext_resource type="Texture2D" uid="uid://b4aildrnhbpl4" path="res://assets/materials/NoticeBoard.png" id="2_sprite"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb"]
|
||||||
size = Vector2(160, 53.333332)
|
size = Vector2(160, 40)
|
||||||
|
|
||||||
[node name="NoticeBoard" type="StaticBody2D"]
|
[node name="NoticeBoard" type="StaticBody2D"]
|
||||||
scale = Vector2(0.6, 0.6)
|
scale = Vector2(0.6, 0.6)
|
||||||
@@ -16,5 +16,5 @@ scale = Vector2(0.5, 0.5)
|
|||||||
texture = ExtResource("2_sprite")
|
texture = ExtResource("2_sprite")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2(0, 13.333335)
|
position = Vector2(0, 6.6666665)
|
||||||
shape = SubResource("RectangleShape2D_nb")
|
shape = SubResource("RectangleShape2D_nb")
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_sprite"]
|
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_sprite"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_board"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_board"]
|
||||||
size = Vector2(112, 26.5)
|
size = Vector2(112, 18.5)
|
||||||
|
|
||||||
[node name="WelcomeBoard" type="StaticBody2D"]
|
[node name="WelcomeBoard" type="StaticBody2D"]
|
||||||
collision_layer = 3
|
collision_layer = 3
|
||||||
@@ -13,5 +13,5 @@ scale = Vector2(0.25, 0.25)
|
|||||||
texture = ExtResource("2_sprite")
|
texture = ExtResource("2_sprite")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2(0, 18.75)
|
position = Vector2(0, 14.75)
|
||||||
shape = SubResource("RectangleShape2D_board")
|
shape = SubResource("RectangleShape2D_board")
|
||||||
|
|||||||
@@ -44,13 +44,10 @@ func _ready():
|
|||||||
prev_btn.pressed.connect(_on_prev_pressed)
|
prev_btn.pressed.connect(_on_prev_pressed)
|
||||||
next_btn.pressed.connect(_on_next_pressed)
|
next_btn.pressed.connect(_on_next_pressed)
|
||||||
|
|
||||||
# Network Integration - Use direct callback for better error handling
|
# Local-only setup: use built-in pages directly, no network dependency.
|
||||||
# Short timeout (2.0s) so mock data appears quickly if server is down
|
|
||||||
NetworkManager.get_request("/notices", _on_notices_response, 2.0)
|
|
||||||
|
|
||||||
# Initial Setup (with generic "Loading" state)
|
|
||||||
mock_pages = pages.duplicate(true)
|
mock_pages = pages.duplicate(true)
|
||||||
pages = [{"text": "[center]Loading notices...[/center]", "image_color": Color(0.9, 0.9, 0.9)}]
|
current_page = 0
|
||||||
|
content_container.modulate.a = 1.0
|
||||||
_setup_dots()
|
_setup_dots()
|
||||||
_update_ui(false)
|
_update_ui(false)
|
||||||
|
|
||||||
@@ -73,7 +70,8 @@ func _on_notices_response(success: bool, data: Dictionary, _error_info: Dictiona
|
|||||||
|
|
||||||
current_page = 0
|
current_page = 0
|
||||||
_setup_dots()
|
_setup_dots()
|
||||||
_update_ui(true)
|
content_container.modulate.a = 1.0
|
||||||
|
_update_ui(false)
|
||||||
|
|
||||||
|
|
||||||
func _setup_dots():
|
func _setup_dots():
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://rdmro1jxs6ga"]
|
[gd_scene load_steps=3 format=3 uid="uid://rdmro1jxs6ga"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://c227m0okmjt2t" path="res://scenes/prefabs/ui/NoticeDialog.gd" id="1_script"]
|
[ext_resource type="Script" uid="uid://c227m0okmjt2t" path="res://scenes/ui/NoticeDialog.gd" id="1_script"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rounded"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rounded"]
|
||||||
bg_color = Color(0.95, 0.95, 0.95, 1)
|
bg_color = Color(0.95, 0.95, 0.95, 1)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://d8mam0n1a3b5"]
|
[gd_scene load_steps=5 format=3 uid="uid://d8mam0n1a3b5"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cohijfo0yeo34" path="res://scenes/ui/WelcomeDialog.gd" id="1_vs5b1"]
|
[ext_resource type="Script" uid="uid://cohijfo0yeo34" path="res://scenes/prefabs/ui/WelcomeDialog.gd" id="1_vs5b1"]
|
||||||
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_dy5hw"]
|
[ext_resource type="Texture2D" uid="uid://v7loa3smfkrd" path="res://assets/materials/WelcomeBoard.png" id="2_dy5hw"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_card"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_card"]
|
||||||
|
|||||||
Reference in New Issue
Block a user