1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00

feat: 添加鸡蛋资源并实现字段显示优势功能

- 新增鸡蛋资源文件及导入配置
- 在FieldShow组件中添加showAdvantage属性控制优势显示
- 修正武器类默认名称错误
- 添加entityNegativeFields数组存储负数字段
This commit is contained in:
2025-09-30 17:51:22 +08:00
parent cab9ff9546
commit a6ab15618c
8 changed files with 86 additions and 4 deletions
+22
View File
@@ -0,0 +1,22 @@
[gd_scene load_steps=4 format=3 uid="uid://bkm51am35af20"]
[ext_resource type="PackedScene" uid="uid://bykwevnv7keeh" path="res://components/Abstracts/FeedCardBase.tscn" id="1_pda12"]
[ext_resource type="Texture2D" uid="uid://dhu2npe2hdg6m" path="res://resources/feeds/egg-a.svg" id="2_4crt5"]
[ext_resource type="Texture2D" uid="uid://b7vxserbhskol" path="res://resources/feeds/banana.svg" id="2_4g6dr"]
[node name="Egg" instance=ExtResource("1_pda12")]
avatarTexture = ExtResource("2_4crt5")
displayName = "鸡蛋"
quality = 2
topic = 3
fields = Array[int]([3, 7])
fieldValues = Array[float]([0.25, 10.0])
costs = Array[int]([0, 1])
costCounts = Array[int]([200, 100])
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("2_4g6dr")
[node name="name" parent="container/info" index="1"]
displayName = "香蕉"
topic = 3
+2 -2
View File
@@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://iu5i8ullbhf6" path="res://resources/items/apple.svg" id="2_q02yi"]
[ext_resource type="Theme" uid="uid://b6nox1qqh50ub" path="res://themes/smallText.tres" id="2_x62bb"]
[sub_resource type="LabelSettings" id="LabelSettings_ossj7"]
[sub_resource type="LabelSettings" id="LabelSettings_3ylui"]
font_size = 13
[node name="FieldShow" type="HBoxContainer"]
@@ -43,5 +43,5 @@ layout_mode = 2
size_flags_horizontal = 10
size_flags_vertical = 8
text = "0"
label_settings = SubResource("LabelSettings_ossj7")
label_settings = SubResource("LabelSettings_3ylui")
horizontal_alignment = 1
+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="37.70661544799805" height="52.78935623168945" viewBox="-0.3893985152244568 -0.42206716537475586 37.70661544799805 52.78935623168945" version="1.1" xml:space="preserve">
<defs/>
<g>
<title>Slice 1</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" fill-rule="evenodd">
<g id="egg-a-[food,breakfast,alex-eben-meyer]" fill-rule="nonzero">
<path d="M35.9592258,22.6462385 C34.359871,15.1563303 30.7792258,6.17321102 23.7850323,2.22550459 C22.0400645,1.24036697 19.781871,0.0429357798 17.7265806,0.0787155965 C16.4890489,0.156739078 15.2759051,0.458183095 14.1459355,0.968440367 C13.4512903,1.3 9.76083871,4.40807339 9.20225806,5.18568808 C6.09903226,9.5198165 4.37077419,14.1950459 2.70219355,18.6222018 C1.43941935,21.9616514 1.24606452,25.8091743 0.656451613,29.3251376 C0.238709677,31.8130275 -0.152774194,34.8948624 0.341354839,37.3827523 C1.5516129,43.4605504 6.33296774,48.5937615 12.1169032,50.3255046 C13.0049032,50.5926605 15.9720645,51.8234862 19.7556129,51.866422 C22.8922581,51.9022018 27.033871,50.8216514 27.2248387,50.7381651 C34.2667742,47.713578 36.0976774,39.0691743 36.4366452,36.7005504 C37.0722226,32.0224194 36.910803,27.2705347 35.9592258,22.6462385 Z" id="Shape" fill="#F0E6D2" stroke-width="1"/>
<path d="M3.26554839,36.8579816 C3.98167742,39.8992661 5.34709677,43.5154128 7.67929032,44.9919266 C8.26174194,45.3592661 9.01129032,45.8053211 9.66296774,45.745688 C10.0628525,45.6849877 10.4438934,45.5349677 10.7777419,45.306789 C11.3245826,44.7463169 11.8139836,44.1326235 12.2386452,43.4748624 C13.1147097,41.6333945 13.3820645,39.5820184 13.7950323,37.7286238 C14.0813732,36.299494 14.2577386,34.8505459 14.3225806,33.3944954 C14.3894194,32.3640367 14.4323871,31.0902752 14.2103871,30.0812844 C13.666129,27.6124771 12.0094839,25.606422 10.1212903,25.0077064 C9.33767872,24.680548 8.49503702,24.5181536 7.64587097,24.5306422 C6.83693651,24.6153769 6.04566662,24.8229006 5.29935484,25.146055 C3.13903226,26.5319266 2.78335484,30.1170642 2.738,31.0974312 C2.66073615,33.0324119 2.83810198,34.9691533 3.26554839,36.8579816 Z" id="Shape" fill="#FAF0E6" stroke-width="1"/>
</g>
</g>
</g>
</svg><!--rotationCenter:18:26-->

After

Width:  |  Height:  |  Size: 2.2 KiB

+37
View File
@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhu2npe2hdg6m"
path="res://.godot/imported/egg-a.svg-6e44285b0f367ba5e92677b3cad582fa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/feeds/egg-a.svg"
dest_files=["res://.godot/imported/egg-a.svg-6e44285b0f367ba5e92677b3cad582fa.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
+6
View File
@@ -8,6 +8,7 @@ class_name FieldShow
@export var entity: EntityBase = null
@export var useViewCast: bool = false
@export var maxed: bool = false
@export var showAdvantage: bool = false
@onready var nameLabel: Label = $"%name"
@onready var valueLabel: Label = $"%value"
@@ -33,6 +34,11 @@ func _ready():
if maxed:
valueLabel.label_settings.font_color = Color(1, 0.3, 0.3)
valueLabel.text = "MAX%s" % valueLabel.text
elif showAdvantage:
if field in FieldStore.entityNegativeFields:
valueLabel.label_settings.font_color = Color.RED if value > 0 else Color.GREEN
else:
valueLabel.label_settings.font_color = Color.GREEN if value > 0 else Color.RED
else:
valueLabel.label_settings.font_color = Color(1, 1, 1)
+1
View File
@@ -86,6 +86,7 @@ func rebuildInfo():
var fieldShow: FieldShow = ComponentManager.getUIComponent("FieldShow").instantiate()
fieldShow.field = field
fieldShow.value = value
fieldShow.showAdvantage = true
if is_instance_valid(UIState.player):
fieldShow.maxed = value + UIState.player.fields[field] > FieldStore.entityMaxValueMap.get(field, INF)
fieldsBox.add_child(fieldShow)
+1 -1
View File
@@ -3,7 +3,7 @@ extends PanelContainer
class_name Weapon
@export var avatarTexture: Texture2D = null
@export var displayName: String = "未命名饲料"
@export var displayName: String = "未命名武器"
@export var quality: WeaponName.Quality = WeaponName.Quality.COMMON
@export var typeTopic: WeaponName.TypeTopic = WeaponName.TypeTopic.IMPACT
@export var soulLevel: int = 1
+4 -1
View File
@@ -118,4 +118,7 @@ static var entityViewCastMap = {
Entity.EXTRA_APPLE_MAX: func(entity, _value):
return entity.inventoryMax[ItemStore.ItemType.APPLE]
,
}
}
static var entityNegativeFields: Array[Entity] = [
Entity.OFFSET_SHOOT
]