mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat: 添加局外养成系统和游戏结束面板改进
添加新的物品类型紫水晶和钻石 实现局外属性升级系统 改进游戏结束面板的返回和退出功能 添加新的UI组件用于显示属性和物品 更新游戏规则和存储系统以支持局外养成
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://beo6s1kudbbve"]
|
[gd_scene format=3 uid="uid://beo6s1kudbbve"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://d3qojeqa3difn" path="res://components/Abstracts/FullscreenPanelBase.tscn" id="1_u2ynr"]
|
[ext_resource type="PackedScene" uid="uid://d3qojeqa3difn" path="res://components/Abstracts/FullscreenPanelBase.tscn" id="1_u2ynr"]
|
||||||
[ext_resource type="Script" path="res://scripts/Contents/Panels/GameOver.gd" id="2_6cd45"]
|
[ext_resource type="Script" uid="uid://bub7ku5qf2tpo" path="res://scripts/Contents/Panels/GameOver.gd" id="2_6cd45"]
|
||||||
[ext_resource type="FontFile" uid="uid://v3frxpuvtj5o" path="res://resources/fonts/syht-bold.ttf" id="3_2arur"]
|
[ext_resource type="FontFile" uid="uid://v3frxpuvtj5o" path="res://resources/fonts/syht-bold.ttf" id="3_2arur"]
|
||||||
[ext_resource type="AudioStream" uid="uid://dbso1w8hvgilg" path="res://resources/sounds/effect/Lose.wav" id="3_n4aax"]
|
[ext_resource type="AudioStream" uid="uid://dbso1w8hvgilg" path="res://resources/sounds/effect/Lose.wav" id="3_n4aax"]
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ bg_color = Color(1, 0, 0, 0.3)
|
|||||||
font = ExtResource("3_2arur")
|
font = ExtResource("3_2arur")
|
||||||
font_size = 50
|
font_size = 50
|
||||||
|
|
||||||
[node name="GameOver" instance=ExtResource("1_u2ynr")]
|
[node name="GameOver" unique_id=2121797652 instance=ExtResource("1_u2ynr")]
|
||||||
offset_top = 0.0
|
offset_top = 0.0
|
||||||
offset_bottom = 0.0
|
offset_bottom = 0.0
|
||||||
script = ExtResource("2_6cd45")
|
script = ExtResource("2_6cd45")
|
||||||
@@ -20,22 +20,26 @@ script = ExtResource("2_6cd45")
|
|||||||
[node name="wrapper" parent="content" index="1"]
|
[node name="wrapper" parent="content" index="1"]
|
||||||
theme_override_constants/separation = 50
|
theme_override_constants/separation = 50
|
||||||
|
|
||||||
[node name="container" type="PanelContainer" parent="content/wrapper" index="0"]
|
[node name="container" type="PanelContainer" parent="content/wrapper" index="0" unique_id=428012739]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_7gbuu")
|
theme_override_styles/panel = SubResource("StyleBoxFlat_7gbuu")
|
||||||
|
|
||||||
[node name="wrapper" type="VBoxContainer" parent="content/wrapper/container" index="0"]
|
[node name="wrapper" type="VBoxContainer" parent="content/wrapper/container" index="0" unique_id=2055114212]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 20
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="text" type="Label" parent="content/wrapper/container/wrapper" index="0"]
|
[node name="death" type="VBoxContainer" parent="content/wrapper/container/wrapper" index="0" unique_id=1305351100]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="text" type="Label" parent="content/wrapper/container/wrapper/death" index="0" unique_id=1017927892]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "败北"
|
text = "败北"
|
||||||
label_settings = SubResource("LabelSettings_17i5j")
|
label_settings = SubResource("LabelSettings_17i5j")
|
||||||
|
|
||||||
[node name="deadreason" type="RichTextLabel" parent="content/wrapper/container/wrapper" index="1"]
|
[node name="deadreason" type="RichTextLabel" parent="content/wrapper/container/wrapper/death" index="1" unique_id=1670544883]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
@@ -44,7 +48,23 @@ text = "[color=gray]死亡原因[/color]"
|
|||||||
fit_content = true
|
fit_content = true
|
||||||
autowrap_mode = 0
|
autowrap_mode = 0
|
||||||
|
|
||||||
[node name="audio" type="AudioStreamPlayer2D" parent="." index="2"]
|
[node name="gameControl" type="HBoxContainer" parent="content/wrapper/container/wrapper" index="1" unique_id=2129714003]
|
||||||
|
layout_mode = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="returnBtn" type="Button" parent="content/wrapper/container/wrapper/gameControl" index="0" unique_id=1955688444]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
text = "重新开始游戏"
|
||||||
|
|
||||||
|
[node name="exitBtn" type="Button" parent="content/wrapper/container/wrapper/gameControl" index="1" unique_id=1303303813]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
text = "退出游戏"
|
||||||
|
|
||||||
|
[node name="audio" type="AudioStreamPlayer2D" parent="." index="2" unique_id=2020590816]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
stream = ExtResource("3_n4aax")
|
stream = ExtResource("3_n4aax")
|
||||||
volume_db = 10.0
|
volume_db = 10.0
|
||||||
|
|||||||
@@ -6,30 +6,19 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dtw7ljiir0ug6" path="res://resources/comics/starterBack.png" id="3_sdsu8"]
|
[ext_resource type="Texture2D" uid="uid://dtw7ljiir0ug6" path="res://resources/comics/starterBack.png" id="3_sdsu8"]
|
||||||
[ext_resource type="Theme" uid="uid://dhvs6urgf6jr5" path="res://themes/main.tres" id="4_lfxcn"]
|
[ext_resource type="Theme" uid="uid://dhvs6urgf6jr5" path="res://themes/main.tres" id="4_lfxcn"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bgi4bx6bsjv48" path="res://resources/icons/logo.png" id="5_i7qv0"]
|
[ext_resource type="Texture2D" uid="uid://bgi4bx6bsjv48" path="res://resources/icons/logo.png" id="5_i7qv0"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bbm8l3hr4ihar" path="res://components/UI/ItemShow.tscn" id="7_4ekdw"]
|
||||||
|
[ext_resource type="StyleBox" uid="uid://c2umi01exgdmu" path="res://styleboxes/panel/HorizontalBorder.tres" id="7_kl3ko"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i7qv0"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i7qv0"]
|
||||||
shader = ExtResource("3_i7qv0")
|
shader = ExtResource("3_i7qv0")
|
||||||
shader_parameter/prog = 0.5000000074506
|
shader_parameter/prog = 0.5000000074506
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4ekdw"]
|
||||||
|
content_margin_left = 60.0
|
||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sdsu8"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sdsu8"]
|
||||||
content_margin_right = 60.0
|
content_margin_right = 60.0
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i7qv0"]
|
|
||||||
content_margin_left = 20.0
|
|
||||||
content_margin_top = 20.0
|
|
||||||
content_margin_right = 20.0
|
|
||||||
content_margin_bottom = 20.0
|
|
||||||
bg_color = Color(0, 0, 0, 0.70000005)
|
|
||||||
border_width_left = 10
|
|
||||||
border_width_right = 10
|
|
||||||
border_color = Color(1, 1, 1, 1)
|
|
||||||
border_blend = true
|
|
||||||
corner_radius_top_left = 15
|
|
||||||
corner_radius_top_right = 15
|
|
||||||
corner_radius_bottom_right = 15
|
|
||||||
corner_radius_bottom_left = 15
|
|
||||||
corner_detail = 1
|
|
||||||
|
|
||||||
[sub_resource type="LabelSettings" id="LabelSettings_lfxcn"]
|
[sub_resource type="LabelSettings" id="LabelSettings_lfxcn"]
|
||||||
font_size = 20
|
font_size = 20
|
||||||
outline_size = 1
|
outline_size = 1
|
||||||
@@ -179,56 +168,107 @@ stretch_mode = 5
|
|||||||
[node name="wrapper" parent="content" index="3"]
|
[node name="wrapper" parent="content" index="3"]
|
||||||
theme_override_constants/separation = 30
|
theme_override_constants/separation = 30
|
||||||
|
|
||||||
[node name="wrapper" type="PanelContainer" parent="content/wrapper" index="0" unique_id=756923034]
|
[node name="layout" type="HBoxContainer" parent="content/wrapper" index="0" unique_id=1600804613]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 8
|
|
||||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_sdsu8")
|
|
||||||
|
|
||||||
[node name="start" type="PanelContainer" parent="content/wrapper/wrapper" index="0" unique_id=1232082966]
|
[node name="outGameWrapper" type="PanelContainer" parent="content/wrapper/layout" index="0" unique_id=2095529794]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 8
|
theme_override_styles/panel = SubResource("StyleBoxEmpty_4ekdw")
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_i7qv0")
|
|
||||||
|
|
||||||
[node name="starter" type="VBoxContainer" parent="content/wrapper/wrapper/start" index="0" unique_id=2056064159]
|
[node name="layout" type="HBoxContainer" parent="content/wrapper/layout/outGameWrapper" index="0" unique_id=425031834]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 30
|
theme_override_constants/separation = 30
|
||||||
|
|
||||||
[node name="singleplayer" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter" index="0" unique_id=1117567773]
|
[node name="character" type="PanelContainer" parent="content/wrapper/layout/outGameWrapper/layout" index="0" unique_id=1828402109]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_styles/panel = ExtResource("7_kl3ko")
|
||||||
|
|
||||||
|
[node name="container" type="VBoxContainer" parent="content/wrapper/layout/outGameWrapper/layout/character" index="0" unique_id=1167478166]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="title" type="Label" parent="content/wrapper/layout/outGameWrapper/layout/character/container" index="0" unique_id=1287813603]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "选择角色"
|
||||||
|
|
||||||
|
[node name="outGame" type="PanelContainer" parent="content/wrapper/layout/outGameWrapper/layout" index="1" unique_id=1923951688]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_styles/panel = ExtResource("7_kl3ko")
|
||||||
|
|
||||||
|
[node name="container" type="VBoxContainer" parent="content/wrapper/layout/outGameWrapper/layout/outGame" index="0" unique_id=145459012]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 4
|
||||||
|
|
||||||
|
[node name="items" type="HBoxContainer" parent="content/wrapper/layout/outGameWrapper/layout/outGame/container" index="0" unique_id=141139741]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 20
|
theme_override_constants/separation = 20
|
||||||
|
|
||||||
[node name="playConfig" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="0" unique_id=1132195820]
|
[node name="crystal" parent="content/wrapper/layout/outGameWrapper/layout/outGame/container/items" index="0" unique_id=827814628 instance=ExtResource("7_4ekdw")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
type = 5
|
||||||
|
|
||||||
|
[node name="diamond" parent="content/wrapper/layout/outGameWrapper/layout/outGame/container/items" index="1" unique_id=1846263735 instance=ExtResource("7_4ekdw")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
type = 6
|
||||||
|
|
||||||
|
[node name="upgradeFields" type="VBoxContainer" parent="content/wrapper/layout/outGameWrapper/layout/outGame/container" index="1" unique_id=310882955]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="startGameWrapper" type="PanelContainer" parent="content/wrapper/layout" index="1" unique_id=756923034]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 10
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxEmpty_sdsu8")
|
||||||
|
|
||||||
|
[node name="start" type="PanelContainer" parent="content/wrapper/layout/startGameWrapper" index="0" unique_id=1232082966]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
theme = ExtResource("4_lfxcn")
|
||||||
|
theme_override_styles/panel = ExtResource("7_kl3ko")
|
||||||
|
|
||||||
|
[node name="starter" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start" index="0" unique_id=2056064159]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 30
|
||||||
|
|
||||||
|
[node name="singleplayer" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter" index="0" unique_id=1117567773]
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_constants/separation = 20
|
||||||
|
|
||||||
|
[node name="playConfig" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer" index="0" unique_id=1132195820]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 6
|
theme_override_constants/separation = 6
|
||||||
|
|
||||||
[node name="diffs" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="0" unique_id=526058063]
|
[node name="diffs" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig" index="0" unique_id=526058063]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="0" unique_id=1507689450]
|
[node name="tip" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/diffs" index="0" unique_id=1507689450]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "选择难度:"
|
text = "选择难度:"
|
||||||
|
|
||||||
[node name="diffEdit" type="HSlider" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="1" unique_id=1308866785]
|
[node name="diffEdit" type="HSlider" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/diffs" index="1" unique_id=1308866785]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
custom_minimum_size = Vector2(100, 0)
|
custom_minimum_size = Vector2(100, 0)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
max_value = 0.0
|
max_value = 0.0
|
||||||
|
|
||||||
[node name="levelShow" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/diffs" index="2" unique_id=1102279314]
|
[node name="levelShow" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/diffs" index="2" unique_id=1102279314]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "0 ∈ [0, 0]"
|
text = "0 ∈ [0, 0]"
|
||||||
|
|
||||||
[node name="gamemode" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="1" unique_id=1396041711]
|
[node name="gamemode" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig" index="1" unique_id=1396041711]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/gamemode" index="0" unique_id=1975146551]
|
[node name="tip" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/gamemode" index="0" unique_id=1975146551]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "游戏模式:"
|
text = "游戏模式:"
|
||||||
|
|
||||||
[node name="gamemodeOption" type="OptionButton" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/gamemode" index="1" unique_id=620219949]
|
[node name="gamemodeOption" type="OptionButton" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/gamemode" index="1" unique_id=620219949]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
@@ -243,14 +283,14 @@ popup/item_1/id = 1
|
|||||||
popup/item_2/text = "割草"
|
popup/item_2/text = "割草"
|
||||||
popup/item_2/id = 2
|
popup/item_2/id = 2
|
||||||
|
|
||||||
[node name="player" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="2" unique_id=656225175]
|
[node name="player" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig" index="2" unique_id=656225175]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/player" index="0" unique_id=1899542373]
|
[node name="tip" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/player" index="0" unique_id=1899542373]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "角色名:"
|
text = "角色名:"
|
||||||
|
|
||||||
[node name="playerNameInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/player" index="1" unique_id=1401004968]
|
[node name="playerNameInput" type="LineEdit" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/player" index="1" unique_id=1401004968]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
@@ -263,14 +303,14 @@ expand_to_text_length = true
|
|||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
virtual_keyboard_type = 7
|
virtual_keyboard_type = 7
|
||||||
|
|
||||||
[node name="useTutorial" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig" index="3" unique_id=2079979053]
|
[node name="useTutorial" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig" index="3" unique_id=2079979053]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/useTutorial" index="0" unique_id=20976924]
|
[node name="tip" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/useTutorial" index="0" unique_id=20976924]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "新手教程?"
|
text = "新手教程?"
|
||||||
|
|
||||||
[node name="useTutorialBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/playConfig/useTutorial" index="1" unique_id=689654160]
|
[node name="useTutorialBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/playConfig/useTutorial" index="1" unique_id=689654160]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
@@ -278,41 +318,41 @@ toggle_mode = true
|
|||||||
button_pressed = true
|
button_pressed = true
|
||||||
text = "观看"
|
text = "观看"
|
||||||
|
|
||||||
[node name="start" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/singleplayer" index="1" unique_id=1119283819]
|
[node name="start" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer" index="1" unique_id=1119283819]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 10
|
theme_override_constants/separation = 10
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="startSingleplayerBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="0" unique_id=935895475]
|
[node name="startSingleplayerBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/start" index="0" unique_id=935895475]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
theme = ExtResource("4_lfxcn")
|
theme = ExtResource("4_lfxcn")
|
||||||
text = "单人游戏"
|
text = "单人游戏"
|
||||||
|
|
||||||
[node name="startMultiplayerBtn" type="Button" parent="content/wrapper/wrapper/start/starter/singleplayer/start" index="1" unique_id=1874616219]
|
[node name="startMultiplayerBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/singleplayer/start" index="1" unique_id=1874616219]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
theme = ExtResource("4_lfxcn")
|
theme = ExtResource("4_lfxcn")
|
||||||
text = "多人游戏"
|
text = "多人游戏"
|
||||||
|
|
||||||
[node name="multiplayer" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter" index="1" unique_id=2010516457]
|
[node name="multiplayer" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter" index="1" unique_id=2010516457]
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 15
|
theme_override_constants/separation = 15
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="main" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer" index="0" unique_id=255202573]
|
[node name="main" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer" index="0" unique_id=255202573]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="title" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/main" index="0" unique_id=504003020]
|
[node name="title" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main" index="0" unique_id=504003020]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "多人游戏"
|
text = "多人游戏"
|
||||||
label_settings = SubResource("LabelSettings_lfxcn")
|
label_settings = SubResource("LabelSettings_lfxcn")
|
||||||
|
|
||||||
[node name="connectionState" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/main" index="1" unique_id=1479839873]
|
[node name="connectionState" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main" index="1" unique_id=1479839873]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
modulate = Color(1, 0, 0, 1)
|
modulate = Color(1, 0, 0, 1)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
@@ -320,16 +360,16 @@ size_flags_horizontal = 4
|
|||||||
text = "状态:未连接到服务器。"
|
text = "状态:未连接到服务器。"
|
||||||
label_settings = SubResource("LabelSettings_kl3ko")
|
label_settings = SubResource("LabelSettings_kl3ko")
|
||||||
|
|
||||||
[node name="host" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/main" index="2" unique_id=105458555]
|
[node name="host" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main" index="2" unique_id=105458555]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="tip" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/main/host" index="0" unique_id=871253279]
|
[node name="tip" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/host" index="0" unique_id=871253279]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "地址"
|
text = "地址"
|
||||||
label_settings = SubResource("LabelSettings_sdsu8")
|
label_settings = SubResource("LabelSettings_sdsu8")
|
||||||
|
|
||||||
[node name="hostInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/multiplayer/main/host" index="1" unique_id=1534443919]
|
[node name="hostInput" type="LineEdit" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/host" index="1" unique_id=1534443919]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme = ExtResource("4_lfxcn")
|
theme = ExtResource("4_lfxcn")
|
||||||
@@ -341,11 +381,11 @@ clear_button_enabled = true
|
|||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
virtual_keyboard_type = 7
|
virtual_keyboard_type = 7
|
||||||
|
|
||||||
[node name="separator" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/main/host" index="2" unique_id=1728951883]
|
[node name="separator" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/host" index="2" unique_id=1728951883]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = ":"
|
text = ":"
|
||||||
|
|
||||||
[node name="portInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/multiplayer/main/host" index="3" unique_id=476929474]
|
[node name="portInput" type="LineEdit" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/host" index="3" unique_id=476929474]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme = ExtResource("4_lfxcn")
|
theme = ExtResource("4_lfxcn")
|
||||||
@@ -356,55 +396,55 @@ emoji_menu_enabled = false
|
|||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
virtual_keyboard_type = 2
|
virtual_keyboard_type = 2
|
||||||
|
|
||||||
[node name="operation" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/main" index="3" unique_id=720531196]
|
[node name="operation" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main" index="3" unique_id=720531196]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="launchBtn" type="Button" parent="content/wrapper/wrapper/start/starter/multiplayer/main/operation" index="0" unique_id=480209339]
|
[node name="launchBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/operation" index="0" unique_id=480209339]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "启动服务器"
|
text = "启动服务器"
|
||||||
|
|
||||||
[node name="connectBtn" type="Button" parent="content/wrapper/wrapper/start/starter/multiplayer/main/operation" index="1" unique_id=921875653]
|
[node name="connectBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/operation" index="1" unique_id=921875653]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "连接服务器"
|
text = "连接服务器"
|
||||||
|
|
||||||
[node name="disconnectBtn" type="Button" parent="content/wrapper/wrapper/start/starter/multiplayer/main/operation" index="2" unique_id=1179706084]
|
[node name="disconnectBtn" type="Button" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/main/operation" index="2" unique_id=1179706084]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
disabled = true
|
disabled = true
|
||||||
text = "断开连接"
|
text = "断开连接"
|
||||||
|
|
||||||
[node name="configs" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer" index="1" unique_id=332744115]
|
[node name="configs" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer" index="1" unique_id=332744115]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 30
|
theme_override_constants/separation = 30
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="serverConfig" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/configs" index="0" unique_id=586906646]
|
[node name="serverConfig" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs" index="0" unique_id=586906646]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="title" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/serverConfig" index="0" unique_id=838895828]
|
[node name="title" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/serverConfig" index="0" unique_id=838895828]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "服务器配置"
|
text = "服务器配置"
|
||||||
|
|
||||||
[node name="maxPlayer" type="HBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/serverConfig" index="1" unique_id=233504210]
|
[node name="maxPlayer" type="HBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/serverConfig" index="1" unique_id=233504210]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="title" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/serverConfig/maxPlayer" index="0" unique_id=665443104]
|
[node name="title" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/serverConfig/maxPlayer" index="0" unique_id=665443104]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "最大玩家数"
|
text = "最大玩家数"
|
||||||
label_settings = SubResource("LabelSettings_i7qv0")
|
label_settings = SubResource("LabelSettings_i7qv0")
|
||||||
|
|
||||||
[node name="maxPlayerInput" type="LineEdit" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/serverConfig/maxPlayer" index="1" unique_id=237311490]
|
[node name="maxPlayerInput" type="LineEdit" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/serverConfig/maxPlayer" index="1" unique_id=237311490]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
@@ -415,17 +455,17 @@ emoji_menu_enabled = false
|
|||||||
select_all_on_focus = true
|
select_all_on_focus = true
|
||||||
virtual_keyboard_type = 2
|
virtual_keyboard_type = 2
|
||||||
|
|
||||||
[node name="players" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/configs" index="1" unique_id=798597277]
|
[node name="players" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs" index="1" unique_id=798597277]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="title" type="Label" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/players" index="0" unique_id=1095446629]
|
[node name="title" type="Label" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/players" index="0" unique_id=1095446629]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
text = "玩家管理"
|
text = "玩家管理"
|
||||||
|
|
||||||
[node name="list" type="VBoxContainer" parent="content/wrapper/wrapper/start/starter/multiplayer/configs/players" index="1" unique_id=1550608733]
|
[node name="list" type="VBoxContainer" parent="content/wrapper/layout/startGameWrapper/start/starter/multiplayer/configs/players" index="1" unique_id=1550608733]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|||||||
@@ -1,29 +1,31 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://cw5ip3rw4r3pp"]
|
[gd_scene format=3 uid="uid://cw5ip3rw4r3pp"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/Statemachine/FieldShow.gd" id="1_gwocj"]
|
[ext_resource type="Script" uid="uid://cosrwhfwqba7c" path="res://scripts/Statemachine/FieldShow.gd" id="1_gwocj"]
|
||||||
[ext_resource type="Texture2D" uid="uid://iu5i8ullbhf6" path="res://resources/items/apple.svg" id="2_q02yi"]
|
[ext_resource type="Texture2D" uid="uid://indwfnk25l74" path="res://resources/fieldIcons/生命上限.svg" id="2_ueodc"]
|
||||||
[ext_resource type="Theme" uid="uid://b6nox1qqh50ub" path="res://themes/smallText.tres" id="2_x62bb"]
|
[ext_resource type="Theme" uid="uid://b6nox1qqh50ub" path="res://themes/smallText.tres" id="2_x62bb"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bq8wf01j5ulwe" path="res://resources/ui/update-level.svg" id="4_imrgm"]
|
||||||
|
|
||||||
[sub_resource type="LabelSettings" id="LabelSettings_ysv18"]
|
[sub_resource type="LabelSettings" id="LabelSettings_imrgm"]
|
||||||
font_size = 13
|
font_size = 13
|
||||||
|
|
||||||
[node name="FieldShow" type="HBoxContainer"]
|
[node name="FieldShow" type="HBoxContainer" unique_id=1958616813]
|
||||||
offset_right = 144.0
|
offset_right = 144.0
|
||||||
offset_bottom = 18.0
|
offset_bottom = 18.0
|
||||||
|
alignment = 1
|
||||||
script = ExtResource("1_gwocj")
|
script = ExtResource("1_gwocj")
|
||||||
metadata/_edit_horizontal_guides_ = [20.0]
|
metadata/_edit_horizontal_guides_ = [20.0]
|
||||||
|
|
||||||
[node name="icon" type="TextureRect" parent="."]
|
[node name="icon" type="TextureRect" parent="." unique_id=1570201622]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
custom_minimum_size = Vector2(20, 20)
|
custom_minimum_size = Vector2(20, 20)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 4
|
size_flags_horizontal = 4
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
texture = ExtResource("2_q02yi")
|
texture = ExtResource("2_ueodc")
|
||||||
expand_mode = 1
|
expand_mode = 1
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
|
||||||
[node name="name" type="Label" parent="."]
|
[node name="name" type="Label" parent="." unique_id=452024197]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 11
|
size_flags_horizontal = 11
|
||||||
@@ -31,18 +33,31 @@ theme = ExtResource("2_x62bb")
|
|||||||
text = "生命上限"
|
text = "生命上限"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|
||||||
[node name="sep" type="ColorRect" parent="."]
|
[node name="sep" type="ColorRect" parent="." unique_id=947351883]
|
||||||
custom_minimum_size = Vector2(20, 1)
|
custom_minimum_size = Vector2(20, 1)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
size_flags_stretch_ratio = 16.0
|
size_flags_stretch_ratio = 16.0
|
||||||
|
|
||||||
[node name="value" type="Label" parent="."]
|
[node name="value" type="Label" parent="." unique_id=1521326049]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 10
|
size_flags_horizontal = 10
|
||||||
size_flags_vertical = 8
|
text = "+10.0"
|
||||||
text = "0"
|
label_settings = SubResource("LabelSettings_imrgm")
|
||||||
label_settings = SubResource("LabelSettings_ysv18")
|
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="upgrades" type="HBoxContainer" parent="." unique_id=1359455298]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="upgradeBtn" type="Button" parent="upgrades" unique_id=1348396281]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
icon = ExtResource("4_imrgm")
|
||||||
|
|
||||||
|
[node name="cost" type="HBoxContainer" parent="upgrades" unique_id=1708563406]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ window/size/viewport_width=1280
|
|||||||
window/size/viewport_height=720
|
window/size/viewport_height=720
|
||||||
window/size/mode=2
|
window/size/mode=2
|
||||||
|
|
||||||
|
[global_group]
|
||||||
|
|
||||||
|
bullets=""
|
||||||
|
|
||||||
[gui]
|
[gui]
|
||||||
|
|
||||||
theme/custom="res://themes/main.tres"
|
theme/custom="res://themes/main.tres"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="33.51739" height="35.44804" viewBox="0,0,33.51739,35.44804"><g transform="translate(-223.24131,-162.27598)"><g stroke="none" stroke-miterlimit="10"><g><g><path d="M223.49351,192.90505c0,0 15.37471,-25.43046 18.61824,-28.21065c0,0 7.42396,-3.51778 14.59531,-2.06804c0,0 0.30978,8.3177 -1.28976,14.43664c0,0 -23.75717,19.61115 -26.02193,20.52265c0,0 -3.52537,-0.26784 -5.31028,-1.19203c0.0292,0.13837 -1.41041,-2.23176 -0.59159,-3.48855z" fill="#8644b3"/><path d="M256.59789,162.79393l-13.58605,10.96081c-1.81157,-3.44793 -0.87089,-8.92197 -0.87089,-8.92197c0,0 7.42396,-3.51778 14.45694,-2.03884z" fill="#ea8be5"/><path d="M256.59789,162.79393l-13.58605,10.96081c-1.81157,-3.44793 -0.87089,-8.92197 -0.87089,-8.92197c0,0 7.42396,-3.51778 14.45694,-2.03884z" fill="#ea8be5"/><path d="M254.75845,177.7079c-6.31572,-1.84708 -11.83038,-4.00775 -11.83038,-4.00775l13.66983,-10.90623c0.05459,-0.08379 0.13837,-0.0292 0.13837,-0.0292c0,0 0.30978,8.3177 -1.37355,14.38205c0,0 -0.10918,0.16757 -0.60428,0.56112z" fill="#ad59c2"/><path d="M242.95726,173.83853l-18.89756,22.77724c0,0 -1.30123,-2.39933 -0.53701,-3.57235c0,0 15.37471,-25.43046 18.61824,-28.21065z" fill="#ad59c2"/><path d="M242.92807,173.70015c0,0 -0.95719,1.28599 -2.43487,3.18769c-0.73884,0.95085 -1.67064,2.01469 -2.57325,3.2169c-0.98639,1.14762 -1.94358,2.43362 -2.92997,3.58124c-1.04098,1.23141 -2.08196,2.46282 -3.01376,3.52665c-0.98639,1.14762 -1.91819,2.21146 -2.60244,3.07852c-1.59066,1.70874 -2.63165,2.94014 -2.63165,2.94014c0,0 0.95719,-1.28599 2.43487,-3.18769c0.73884,-0.95085 1.67064,-2.01469 2.57325,-3.2169c0.98639,-1.14762 1.94358,-2.43362 2.92997,-3.58124c1.04098,-1.23141 2.08196,-2.46282 3.01376,-3.52665c0.98639,-1.14762 1.91819,-2.21146 2.60244,-3.07852c1.64525,-1.79253 2.63165,-2.94014 2.63165,-2.94014z" fill="#ea8be5"/><path d="M226.16706,193.93079l-2.13654,2.5466c0,0 -1.30123,-2.39933 -0.53701,-3.57235c0,0 1.50435,0.62205 2.67355,1.02574z" fill="#a546bd"/><path d="M229.34079,197.66942c0,0 -3.60916,-0.32244 -5.31028,-1.19203l2.13654,-2.5466c0.55731,0.24375 1.03083,0.4329 1.1984,0.54207c0.72488,0.35292 1.97534,3.19657 1.97534,3.19657z" fill="#7c36ab"/><path d="M224.1143,196.53198c0.86326,0.32372 1.7811,0.56364 2.61515,0.749c0.83405,0.18534 1.7227,0.2869 2.63673,0.1663l-0.13837,0.0292c1.59448,-1.34821 3.27274,-2.64181 4.95099,-3.93543c1.67826,-1.29361 3.27274,-2.64181 4.89641,-3.85165c3.35652,-2.58723 6.65846,-5.09067 10.04418,-7.53953c-3.18895,2.6964 -6.46169,5.33822 -9.81821,7.92545c-1.67826,1.29361 -3.35652,2.58723 -4.89641,3.85165c-1.67826,1.29361 -3.35652,2.58723 -4.9802,3.79706c-0.94323,-0.01777 -1.83187,-0.11933 -2.74972,-0.35926c-0.97243,-0.15614 -1.75189,-0.42528 -2.56056,-0.83277z" fill="#6b348f"/><path d="M242.05717,164.77818c0,0 4.07252,2.17589 6.92127,4.03187l-6.05037,4.8901c-1.6732,-3.47713 -0.87089,-8.92197 -0.87089,-8.92197z" fill="#e17de3"/><path d="M251.66342,170.91741c0.59031,0.74265 2.53645,3.80084 3.77929,5.92343c-0.05459,0.08379 -0.07997,0.30595 -0.13456,0.38973c0,0 -0.19296,0.11299 -0.54968,0.47733c-6.31572,-1.84708 -11.83038,-4.00775 -11.83038,-4.00775l6.05037,-4.8901c1.34059,0.8734 2.51359,1.63763 2.68498,2.10734z" fill="#9b4dae"/><path d="M254.81304,177.62411c0,0 -0.66648,-0.07616 -1.50054,-0.26152c-0.91785,-0.23993 -2.05784,-0.50525 -3.28163,-0.82516c-1.1692,-0.40369 -2.3384,-0.80739 -3.20165,-1.1311c-0.86326,-0.32372 -1.36597,-0.65125 -1.36597,-0.65125c0,0 0.08379,0.05459 0.38973,0.13456c0.30595,0.07997 0.61189,0.15995 1.08542,0.34911c0.91785,0.23993 2.00325,0.58904 3.22704,0.90895c1.1692,0.40369 2.39299,0.7236 3.25625,1.04732c0.83405,0.18534 1.39136,0.42909 1.39136,0.42909z" fill="#6b348f"/></g><path d="M256.59789,162.79393c0,0 -0.60428,0.56112 -1.51069,1.40279c-0.90641,0.84167 -2.19875,1.90932 -3.49109,2.97696c-1.29234,1.06765 -2.66846,2.0807 -3.74245,2.8132c-1.07399,0.7325 -1.76205,1.23903 -1.76205,1.23903c0,0 0.60428,-0.56112 1.51069,-1.40279c0.961,-0.92546 2.30793,-2.07689 3.54567,-3.06075c1.29234,-1.06765 2.66846,-2.0807 3.74245,-2.8132c0.9902,-0.78709 1.70746,-1.15524 1.70746,-1.15524z" fill="#ffbcfc"/></g></g></g></svg><!--rotationCenter:16.75869348767222:17.7240205896303-->
|
||||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bdp6x3yncvway"
|
||||||
|
path="res://.godot/imported/crystal.svg-b5be99c51af6bba53888868c59397820.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resources/items/crystal.svg"
|
||||||
|
dest_files=["res://.godot/imported/crystal.svg-b5be99c51af6bba53888868c59397820.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="25" height="22.05604362487793" viewBox="2.5 4.043956756591797 25 22.05604362487793" version="1.1" xml:space="preserve">
|
||||||
|
<!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<defs/>
|
||||||
|
<g>
|
||||||
|
<title>crystal-a</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<g id="crystal-a" fill-rule="evenodd">
|
||||||
|
<g id="Blue-Crystal" fill-rule="nonzero">
|
||||||
|
<path d="M 3 12.3 C 3 12.3 5.9 7.1 10 5.6 C 10 5.6 17.9 3.8 20.5 4.9 C 20.5 4.9 25.7 8.5 27 10.5 C 27 10.5 20 23.5 16.7 25.5 C 16.7 25.6 4.3 17.7 3 12.3 Z " id="Shape" fill="#7FCCEF" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 27 10.5 C 26.8 10.2 26.5 9.8 26.1 9.5 L 20.6 12.9 L 15.8 18.7 L 16.7 25.6 C 20.1 23.5 27 10.5 27 10.5 Z " id="Shape" fill="#678FE4" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 11.3 13.9 C 11.3 13.9 13.8 22.6 16.7 25.6 C 16.7 25.6 20.4 16.1 20.6 12.9 L 13.8 9.7 L 11.3 13.9 Z " id="Shape" fill="#73B5E4" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 20.5 4.9 C 17.8 3.8 10 5.6 10 5.6 C 6 7.2 3 12.3 3 12.3 C 3 12.3 9.5 13.9 11.3 13.9 C 11.3 13.9 17 14 20.6 12.9 C 23 12.2 24.5 11.9 27 10.5 C 25.7 8.5 20.5 4.9 20.5 4.9 Z " id="Shape" fill="#92D7EF" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 17.2 4.6 C 15.8 4.7 14.3 4.8 13 5.1 L 11.8 7.5 L 11.4 14 C 11.4 14 17.1 14.1 20.7 13 L 18 6.9 L 17.2 4.6 Z " id="Shape" fill="#7FCCEF" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 11.2 9.6 C 10.4 9.6 6.2 10.9 3.3 11.8 C 3.1 12.1 3 12.3 3 12.3 C 3 12.3 9.5 13.9 11.3 13.9 C 11.3 13.9 17 14 20.6 12.9 C 23 12.2 24.5 11.9 27 10.5 C 26.9 10.4 26.9 10.3 26.8 10.2 C 24.4 9.7 20.2 8.8 19.7 8.8 C 19 8.9 12.4 9.6 11.2 9.6 Z " id="Shape" fill="#83CDEF" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 11.8 7.4 L 18.1 7 C 18.1 7 19.9 6.8 20.6 5 C 17.8 3.8 10 5.6 10 5.6 C 10 5.6 10.6 6.5 11.8 7.4 Z " id="Shape" fill="#BEE6F1" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 20.5 4.9 C 20.3 4.8 20 4.7 19.7 4.7 L 18 6.9 L 20.6 12.8 C 23 12.1 24.5 11.8 27 10.4 C 25.7 8.5 20.5 4.9 20.5 4.9 Z " id="Shape" fill="#73B5E4" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 27 10.5 C 27 10.5 26.9 10.8 26.7 11.2 C 26.5 11.7 26.2 12.3 25.9 13.1 C 25.7 13.5 25.5 13.9 25.3 14.3 C 25.1 14.7 24.8 15.2 24.5 15.7 C 24 16.6 23.3 17.6 22.7 18.6 C 22 19.5 21.3 20.5 20.7 21.3 C 20 22.1 19.4 22.9 18.8 23.5 C 17.6 24.8 16.8 25.5 16.8 25.5 C 16.8 25.5 17.6 24.6 18.6 23.3 C 19.1 22.6 19.7 21.8 20.4 21 C 21 20.1 21.7 19.2 22.4 18.3 C 23.1 17.4 23.7 16.4 24.2 15.5 C 24.8 14.6 25.3 13.7 25.7 13 C 26.1 12.3 26.5 11.6 26.7 11.2 C 26.9 10.8 27 10.5 27 10.5 Z " id="Shape" fill="#3B73E4" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 3 12.3 C 3 12.3 3.5 12.3 4.2 12.4 C 4.9 12.5 5.8 12.6 6.7 12.8 C 7.6 13 8.5 13.2 9.2 13.4 C 9.9 13.6 10.3 13.7 10.3 13.7 C 10.3 13.7 9.8 13.8 9.1 13.7 C 8.4 13.6 7.5 13.5 6.6 13.3 C 5.7 13.1 4.8 12.9 4.1 12.7 C 3.4 12.5 3 12.3 3 12.3 Z " id="Shape" fill="#BEE6F1" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 11.5 14.9 C 11.5 14.9 11.8 15.5 12.1 16.3 C 12.5 17.2 12.9 18.3 13.4 19.4 C 13.8 20.5 14.3 21.7 14.6 22.5 C 14.8 22.9 14.9 23.3 15.1 23.5 C 15.3 23.7 15.3 23.8 15.3 23.8 C 15.3 23.8 15.2 23.7 15 23.5 C 14.8 23.3 14.6 23 14.3 22.6 C 13.8 21.8 13.3 20.7 12.8 19.5 C 12.3 18.3 12 17.2 11.7 16.3 C 11.7 15.5 11.5 14.9 11.5 14.9 Z " id="Shape" fill="#BEE6F1" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 18.9 8.9 L 20.6 12.9 C 23 12.2 24.5 11.9 27 10.5 C 26.9 10.4 26.9 10.3 26.8 10.2 C 24.4 9.7 20.2 8.8 19.7 8.8 C 19.6 8.9 19.3 8.9 18.9 8.9 Z " id="Shape" fill="#679FE4" stroke-width="1" stroke="none"/>
|
||||||
|
<path d="M 11.6 9.6 L 11.3 13.9 C 11.3 13.9 17 14 20.6 12.9 L 18.9 8.9 C 17.2 9.1 13.2 9.5 11.6 9.6 Z " id="Shape" fill="#7CBFEF" stroke-width="1" stroke="none"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg><!--rotationCenter:15:15-->
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b2pdt75oaeyyi"
|
||||||
|
path="res://.godot/imported/diamond.svg-c2e0c7bcfcf4bf5e3510e897076abe04.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resources/items/diamond.svg"
|
||||||
|
dest_files=["res://.godot/imported/diamond.svg-c2e0c7bcfcf4bf5e3510e897076abe04.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
@@ -1,10 +1,30 @@
|
|||||||
@tool
|
@tool
|
||||||
extends FullscreenPanelBase
|
extends FullscreenPanelBase
|
||||||
|
|
||||||
@onready var audio: AudioStreamPlayer2D = $"%audio"
|
@onready var audio: AudioStreamPlayer2D = $%audio
|
||||||
@onready var deadreason: RichTextLabel = $"%deadreason"
|
@onready var deadreason: RichTextLabel = $%deadreason
|
||||||
|
@onready var returnBtn: Button = $%returnBtn
|
||||||
|
@onready var exitBtn: Button = $%exitBtn
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
returnBtn.pressed.connect(
|
||||||
|
func():
|
||||||
|
returnBtn.disabled = true
|
||||||
|
for bullet in get_tree().get_nodes_in_group("bullets"):
|
||||||
|
bullet.queue_free()
|
||||||
|
for entity in get_tree().get_nodes_in_group("entities"):
|
||||||
|
entity.queue_free()
|
||||||
|
UIState.setPanel("Starter")
|
||||||
|
)
|
||||||
|
exitBtn.pressed.connect(
|
||||||
|
func():
|
||||||
|
get_tree().quit()
|
||||||
|
)
|
||||||
|
|
||||||
func beforeOpen(args: Array = []):
|
func beforeOpen(args: Array = []):
|
||||||
audio.play()
|
audio.play()
|
||||||
var reasonTemplate = MathTool.randomChoiceFrom(GameRule.deadReasons)
|
var reasonTemplate = MathTool.randomChoiceFrom(GameRule.deadReasons)
|
||||||
deadreason.text = ("[color=gray]" + reasonTemplate + "凶手是[b]%s[/b]的[b]%s[/b]。[/color]") % args
|
deadreason.text = ("[color=gray]" + reasonTemplate + "凶手是[b]%s[/b]的[b]%s[/b]。[/color]") % args
|
||||||
|
func afterOpen(_args: Array = []):
|
||||||
|
returnBtn.disabled = false
|
||||||
|
exitBtn.disabled = false
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ class_name StarterPanel
|
|||||||
@onready var gamemodeOption: OptionButton = $%gamemodeOption
|
@onready var gamemodeOption: OptionButton = $%gamemodeOption
|
||||||
@onready var useTutorialBtn: Button = $%useTutorialBtn
|
@onready var useTutorialBtn: Button = $%useTutorialBtn
|
||||||
|
|
||||||
|
@onready var upgradeFieldsBox: Control = $%upgradeFields
|
||||||
|
@onready var crystalShow: ItemShow = $%crystal
|
||||||
|
@onready var diamondShow: ItemShow = $%diamond
|
||||||
|
|
||||||
@onready var startSingleplayerBtn: Button = $%startSingleplayerBtn
|
@onready var startSingleplayerBtn: Button = $%startSingleplayerBtn
|
||||||
@onready var startMultiplayerBtn: Button = $%startMultiplayerBtn
|
@onready var startMultiplayerBtn: Button = $%startMultiplayerBtn
|
||||||
@onready var levelShow: Label = $%levelShow
|
@onready var levelShow: Label = $%levelShow
|
||||||
@@ -81,9 +85,6 @@ func startSingleplayerGame():
|
|||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
historyStack = Composables.useHistoryStack(playerNameInput)
|
historyStack = Composables.useHistoryStack(playerNameInput)
|
||||||
diffEdit.min_value = GameRule.difficultyRange.x
|
|
||||||
diffEdit.max_value = GameRule.difficultyRange.y
|
|
||||||
diffEdit.value = GameRule.difficulty
|
|
||||||
useTutorialBtn.toggled.connect(
|
useTutorialBtn.toggled.connect(
|
||||||
func(on: bool):
|
func(on: bool):
|
||||||
useTutorialBtn.text = "观看" if on else "跳过"
|
useTutorialBtn.text = "观看" if on else "跳过"
|
||||||
@@ -134,7 +135,6 @@ func _ready():
|
|||||||
setPlayerName(getLast.call(1), newText)
|
setPlayerName(getLast.call(1), newText)
|
||||||
mutexPlayer.rpc(newText)
|
mutexPlayer.rpc(newText)
|
||||||
)
|
)
|
||||||
setState(MultiplayerState.ConnectionState.DISCONNECTED)
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(_delta):
|
||||||
levelShow.text = "%d ∈ [%d, %d]" % [diffEdit.value, diffEdit.min_value, diffEdit.max_value]
|
levelShow.text = "%d ∈ [%d, %d]" % [diffEdit.value, diffEdit.min_value, diffEdit.max_value]
|
||||||
GameRule.difficulty = diffEdit.value
|
GameRule.difficulty = diffEdit.value
|
||||||
@@ -158,3 +158,32 @@ func getPlayerNames() -> Array[String]:
|
|||||||
for i in playersList.get_children():
|
for i in playersList.get_children():
|
||||||
result.append(i.text)
|
result.append(i.text)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
func beforeOpen(_args: Array = []):
|
||||||
|
diffEdit.min_value = GameRule.difficultyRange.x
|
||||||
|
diffEdit.max_value = GameRule.difficultyRange.y
|
||||||
|
diffEdit.value = GameRule.difficulty
|
||||||
|
setState(MultiplayerState.ConnectionState.DISCONNECTED)
|
||||||
|
|
||||||
|
crystalShow.count = OutGameStorage.inventory[ItemStore.ItemType.CRYSTAL]
|
||||||
|
diamondShow.count = OutGameStorage.inventory[ItemStore.ItemType.DIAMOND]
|
||||||
|
for child in upgradeFieldsBox.get_children():
|
||||||
|
upgradeFieldsBox.remove_child(child)
|
||||||
|
for field in OutGameStorage.upgradableFieldsAdvance:
|
||||||
|
var fieldShow = ComponentManager.getUIComponent("FieldShow").instantiate() as FieldShow
|
||||||
|
fieldShow.cost(ItemStore.ItemType.CRYSTAL, 50)
|
||||||
|
fieldShow.cost(ItemStore.ItemType.DIAMOND, 1)
|
||||||
|
fieldShow.upgradable = true
|
||||||
|
fieldShow.upgradeValue = OutGameStorage.upgradableFieldsAdvance[field]
|
||||||
|
fieldShow.field = field
|
||||||
|
fieldShow.value = OutGameStorage.upgradableFieldsValue[field]
|
||||||
|
fieldShow.showAdvantage = true
|
||||||
|
fieldShow.upgrade.connect(
|
||||||
|
func(newValue: float):
|
||||||
|
OutGameStorage.upgradableFieldsValue[fieldShow.field] = newValue
|
||||||
|
for index in len(fieldShow.costCounts):
|
||||||
|
fieldShow.costCounts[index] *= GameRule.outGameUpgradeMultipiler
|
||||||
|
)
|
||||||
|
upgradeFieldsBox.add_child(fieldShow)
|
||||||
|
|
||||||
|
startSingleplayerBtn.disabled = false
|
||||||
|
|||||||
@@ -560,6 +560,7 @@ static func generate(
|
|||||||
instance.add_to_group("mobs")
|
instance.add_to_group("mobs")
|
||||||
else:
|
else:
|
||||||
instance.add_to_group("players")
|
instance.add_to_group("players")
|
||||||
|
instance.add_to_group("entities")
|
||||||
if addToWorld:
|
if addToWorld:
|
||||||
WorldManager.rootNode.spawn(instance)
|
WorldManager.rootNode.spawn(instance)
|
||||||
return instance
|
return instance
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
extends HBoxContainer
|
extends HBoxContainer
|
||||||
class_name FieldShow
|
class_name FieldShow
|
||||||
|
|
||||||
|
signal upgrade(newValue: float)
|
||||||
|
|
||||||
@export var field: FieldStore.Entity = FieldStore.Entity.MAX_HEALTH
|
@export var field: FieldStore.Entity = FieldStore.Entity.MAX_HEALTH
|
||||||
@export var value: float = 0
|
@export var value: float = 0
|
||||||
@export var showSign: bool = true
|
@export var showSign: bool = true
|
||||||
@@ -9,19 +11,40 @@ class_name FieldShow
|
|||||||
@export var useViewCast: bool = false
|
@export var useViewCast: bool = false
|
||||||
@export var maxed: bool = false
|
@export var maxed: bool = false
|
||||||
@export var showAdvantage: bool = false
|
@export var showAdvantage: bool = false
|
||||||
|
@export var upgradable: bool = false
|
||||||
|
@export var upgradeValue: float = 0
|
||||||
|
@export var costItems: Array[ItemStore.ItemType] = []
|
||||||
|
@export var costCounts: Array[int] = []
|
||||||
|
|
||||||
@onready var icon: TextureRect = $"%icon"
|
@onready var icon: TextureRect = $%icon
|
||||||
@onready var nameLabel: Label = $"%name"
|
@onready var nameLabel: Label = $%name
|
||||||
@onready var valueLabel: Label = $"%value"
|
@onready var valueLabel: Label = $%value
|
||||||
|
@onready var upgradesBox: Control = $%upgrades
|
||||||
|
@onready var upgradeBtn: Button = $%upgradeBtn
|
||||||
|
@onready var costsBox: Control = $%cost
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
valueLabel.label_settings = valueLabel.label_settings.duplicate()
|
||||||
|
upgradeBtn.pressed.connect(
|
||||||
|
func():
|
||||||
|
if upgradable:
|
||||||
|
if enoughToUpgrade():
|
||||||
|
value += upgradeValue
|
||||||
|
upgrade.emit(value)
|
||||||
|
rebuildInfo()
|
||||||
|
else:
|
||||||
|
UIState.showTip("物品不足!", TipBox.MessageType.ERROR)
|
||||||
|
)
|
||||||
|
rebuildInfo()
|
||||||
|
|
||||||
|
func rebuildInfo():
|
||||||
|
nameLabel.text = FieldStore.entityMap[field]
|
||||||
|
icon.texture = ComponentManager.getFieldTexture(FieldStore.entityMap.get(field))
|
||||||
if useViewCast:
|
if useViewCast:
|
||||||
var caster = FieldStore.entityViewCastMap.get(field)
|
var caster = FieldStore.entityViewCastMap.get(field)
|
||||||
if caster:
|
if caster:
|
||||||
value = caster.call(entity, value)
|
value = caster.call(entity, value)
|
||||||
nameLabel.text = FieldStore.entityMap[field]
|
var formattedValue: String = ""
|
||||||
icon.texture = ComponentManager.getFieldTexture(FieldStore.entityMap.get(field))
|
|
||||||
var formattedValue: String
|
|
||||||
var dataType = FieldStore.entityMapType[field]
|
var dataType = FieldStore.entityMapType[field]
|
||||||
if dataType == FieldStore.DataType.VALUE:
|
if dataType == FieldStore.DataType.VALUE:
|
||||||
formattedValue = "%s" % (MathTool.toSigned(value) if showSign else str(value))
|
formattedValue = "%s" % (MathTool.toSigned(value) if showSign else str(value))
|
||||||
@@ -31,18 +54,46 @@ func _ready():
|
|||||||
formattedValue = "%s°" % (MathTool.toSigned(value) if showSign else str(value))
|
formattedValue = "%s°" % (MathTool.toSigned(value) if showSign else str(value))
|
||||||
elif dataType == FieldStore.DataType.PERCENT:
|
elif dataType == FieldStore.DataType.PERCENT:
|
||||||
formattedValue = (MathTool.toSigned(value * 100) if showSign else str(value * 100)) + "%"
|
formattedValue = (MathTool.toSigned(value * 100) if showSign else str(value * 100)) + "%"
|
||||||
valueLabel.label_settings = valueLabel.label_settings.duplicate()
|
|
||||||
valueLabel.text = formattedValue
|
valueLabel.text = formattedValue
|
||||||
if maxed:
|
if maxed:
|
||||||
valueLabel.label_settings.font_color = Color(1, 0.3, 0.3)
|
valueLabel.label_settings.font_color = Color(1, 0.3, 0.3)
|
||||||
valueLabel.text = "MAX%s" % valueLabel.text
|
valueLabel.text = "MAX%s" % valueLabel.text
|
||||||
elif showAdvantage:
|
elif showAdvantage:
|
||||||
|
if value == 0:
|
||||||
|
valueLabel.label_settings.font_color = Color.WHITE
|
||||||
|
else:
|
||||||
if field in FieldStore.entityNegativeFields:
|
if field in FieldStore.entityNegativeFields:
|
||||||
valueLabel.label_settings.font_color = Color.RED if value > 0 else Color.GREEN
|
valueLabel.label_settings.font_color = Color.RED if value > 0 else Color.GREEN
|
||||||
else:
|
else:
|
||||||
valueLabel.label_settings.font_color = Color.GREEN if value > 0 else Color.RED
|
valueLabel.label_settings.font_color = Color.GREEN if value > 0 else Color.RED
|
||||||
else:
|
else:
|
||||||
valueLabel.label_settings.font_color = Color(1, 1, 1)
|
valueLabel.label_settings.font_color = Color(1, 1, 1)
|
||||||
|
upgradesBox.visible = upgradable
|
||||||
|
for child in costsBox.get_children():
|
||||||
|
costsBox.remove_child(child)
|
||||||
|
for index in len(costItems):
|
||||||
|
var item = costItems[index]
|
||||||
|
var itemShow = ComponentManager.getUIComponent("ItemShow").instantiate() as ItemShow
|
||||||
|
itemShow.type = item
|
||||||
|
itemShow.count = costCounts[index]
|
||||||
|
itemShow.enough = OutGameStorage.inventory[item] >= costCounts[index]
|
||||||
|
costsBox.add_child(itemShow)
|
||||||
|
func enoughToUpgrade():
|
||||||
|
var result = true
|
||||||
|
for child in costsBox.get_children():
|
||||||
|
if child is ItemShow:
|
||||||
|
if !child.enough:
|
||||||
|
result = false
|
||||||
|
break
|
||||||
|
return result
|
||||||
|
func cost(item: ItemStore.ItemType, count: int):
|
||||||
|
for index in len(costItems):
|
||||||
|
var itemd = costItems[index]
|
||||||
|
if itemd == item:
|
||||||
|
costCounts[index] += count
|
||||||
|
break
|
||||||
|
costItems.append(item)
|
||||||
|
costCounts.append(count)
|
||||||
|
|
||||||
static func create(newField: FieldStore.Entity, newValue: float, newShowSign: bool, newEntity: EntityBase, newUseViewCast: bool) -> FieldShow:
|
static func create(newField: FieldStore.Entity, newValue: float, newShowSign: bool, newEntity: EntityBase, newUseViewCast: bool) -> FieldShow:
|
||||||
var fieldShow = ComponentManager.getUIComponent("FieldShow").instantiate()
|
var fieldShow = ComponentManager.getUIComponent("FieldShow").instantiate()
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ static var entityMaxValueMap = {
|
|||||||
Entity.CRIT_RATE: 0.9,
|
Entity.CRIT_RATE: 0.9,
|
||||||
Entity.PENERATE: 0.9,
|
Entity.PENERATE: 0.9,
|
||||||
Entity.PENARATION_RESISTANCE: 1,
|
Entity.PENARATION_RESISTANCE: 1,
|
||||||
Entity.PRICE_REDUCTION: 0.7,
|
Entity.PRICE_REDUCTION: 0.85,
|
||||||
Entity.DROP_APPLE_RATE: 0.3,
|
Entity.DROP_APPLE_RATE: 0.3,
|
||||||
Entity.FEED_COUNT_SHOW: 5,
|
Entity.FEED_COUNT_SHOW: 5,
|
||||||
Entity.BULLET_TRACE: 1,
|
Entity.BULLET_TRACE: 1,
|
||||||
|
|||||||
@@ -23,3 +23,4 @@ static var penerateRateInfluenceByLuckValue: float = MathTool.percent(3) # 幸
|
|||||||
static var detainTime: float = 250 # 血量如果在这个时间内没有改变才会开始播放降低动画
|
static var detainTime: float = 250 # 血量如果在这个时间内没有改变才会开始播放降低动画
|
||||||
static var weaponUpdateCost: float = 1.1 # 武器升级后消耗的棒球数量倍数
|
static var weaponUpdateCost: float = 1.1 # 武器升级后消耗的棒球数量倍数
|
||||||
static var canSpawnMobWhenBossWave: bool = true # Boss波次是否可生成小怪
|
static var canSpawnMobWhenBossWave: bool = true # Boss波次是否可生成小怪
|
||||||
|
static var outGameUpgradeMultipiler: float = 2 # 局外养成升级后物品消耗倍率
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ enum ItemType {
|
|||||||
APPLE,
|
APPLE,
|
||||||
BEACHBALL,
|
BEACHBALL,
|
||||||
SOUL,
|
SOUL,
|
||||||
|
CRYSTAL,
|
||||||
|
DIAMOND
|
||||||
}
|
}
|
||||||
static var nameMap = {
|
static var nameMap = {
|
||||||
ItemType.BASEBALL: "棒球",
|
ItemType.BASEBALL: "棒球",
|
||||||
@@ -14,6 +16,8 @@ static var nameMap = {
|
|||||||
ItemType.APPLE: "苹果",
|
ItemType.APPLE: "苹果",
|
||||||
ItemType.BEACHBALL: "沙滩球",
|
ItemType.BEACHBALL: "沙滩球",
|
||||||
ItemType.SOUL: "灵魂",
|
ItemType.SOUL: "灵魂",
|
||||||
|
ItemType.CRYSTAL: "紫水晶",
|
||||||
|
ItemType.DIAMOND: "钻石"
|
||||||
}
|
}
|
||||||
static var idMap = {
|
static var idMap = {
|
||||||
ItemType.BASEBALL: "baseball",
|
ItemType.BASEBALL: "baseball",
|
||||||
@@ -21,6 +25,8 @@ static var idMap = {
|
|||||||
ItemType.APPLE: "apple",
|
ItemType.APPLE: "apple",
|
||||||
ItemType.BEACHBALL: "beachball",
|
ItemType.BEACHBALL: "beachball",
|
||||||
ItemType.SOUL: "soul",
|
ItemType.SOUL: "soul",
|
||||||
|
ItemType.CRYSTAL: "crystal",
|
||||||
|
ItemType.DIAMOND: "diamond"
|
||||||
}
|
}
|
||||||
static func getTexture(type: ItemType) -> Texture2D:
|
static func getTexture(type: ItemType) -> Texture2D:
|
||||||
return ComponentManager.getItemTexture(idMap.get(type, "baseball"))
|
return ComponentManager.getItemTexture(idMap.get(type, "baseball"))
|
||||||
|
|||||||
@@ -2,3 +2,20 @@ class_name OutGameStorage
|
|||||||
|
|
||||||
static var maxInitialFeedCount: int = 3
|
static var maxInitialFeedCount: int = 3
|
||||||
static var maxInitialWeaponCount: int = 3
|
static var maxInitialWeaponCount: int = 3
|
||||||
|
static var inventory = {
|
||||||
|
ItemStore.ItemType.CRYSTAL: 0,
|
||||||
|
ItemStore.ItemType.DIAMOND: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
static var upgradableFieldsAdvance = {
|
||||||
|
FieldStore.Entity.MAX_HEALTH: 10,
|
||||||
|
FieldStore.Entity.DAMAGE_MULTIPILER: 0.1,
|
||||||
|
FieldStore.Entity.ATTACK_SPEED: 0.05,
|
||||||
|
FieldStore.Entity.PRICE_REDUCTION: 0.02
|
||||||
|
}
|
||||||
|
static var upgradableFieldsValue = {
|
||||||
|
FieldStore.Entity.MAX_HEALTH: 0,
|
||||||
|
FieldStore.Entity.DAMAGE_MULTIPILER: 0,
|
||||||
|
FieldStore.Entity.ATTACK_SPEED: 0,
|
||||||
|
FieldStore.Entity.PRICE_REDUCTION: 0
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[gd_resource type="StyleBoxFlat" format=3 uid="uid://c2umi01exgdmu"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
content_margin_left = 20.0
|
||||||
|
content_margin_top = 20.0
|
||||||
|
content_margin_right = 20.0
|
||||||
|
content_margin_bottom = 20.0
|
||||||
|
bg_color = Color(0, 0, 0, 0.70000005)
|
||||||
|
border_width_left = 10
|
||||||
|
border_width_right = 10
|
||||||
|
border_color = Color(1, 1, 1, 1)
|
||||||
|
border_blend = true
|
||||||
|
corner_radius_top_left = 15
|
||||||
|
corner_radius_top_right = 15
|
||||||
|
corner_radius_bottom_right = 15
|
||||||
|
corner_radius_bottom_left = 15
|
||||||
|
corner_detail = 1
|
||||||
Reference in New Issue
Block a user