diff --git a/components/Debug/FeedHasField.tscn b/components/Debug/FeedHasField.tscn new file mode 100644 index 0000000..66e4855 --- /dev/null +++ b/components/Debug/FeedHasField.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://clm14a8gnikte"] + +[ext_resource type="Script" path="res://scripts/Debug/FeedHasField.gd" id="1_7leag"] + +[node name="FeedHasField" type="HBoxContainer"] +theme_override_constants/separation = 0 +script = ExtResource("1_7leag") +targetFields = Array[int]([14, 4]) +composeMode = 1 diff --git a/scripts/Debug/FeedHasField.gd b/scripts/Debug/FeedHasField.gd new file mode 100644 index 0000000..cea1d54 --- /dev/null +++ b/scripts/Debug/FeedHasField.gd @@ -0,0 +1,33 @@ +@tool +extends HBoxContainer + +enum ComposeMode { + ALL, + ANY, +} + +@export var targetFields: Array[FieldStore.Entity] = [] +@export var composeMode: ComposeMode = ComposeMode.ALL + +func _ready(): + for i in get_children(): + i.queue_free() + var files = DirTool.listdir("res://components/Feeds/") + for file in files: + var passed: bool + var feed = load(file).instantiate() as Feed + for targetField in targetFields: + var haveThis = false + for feedField in feed.fields: + if feedField == targetField: + haveThis = true + break + passed = haveThis + if composeMode == ComposeMode.ALL: + if not passed: + break + elif composeMode == ComposeMode.ANY: + if passed: + break + if passed: + add_child(feed) diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index b6a715a..e1ee8f6 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -51,7 +51,7 @@ var inventoryMax = { @export var sprintMultiplier: float = 4 @export var drops: Array[ItemStore.ItemType] = [] @export var dropCounts: Array[Vector2] = [] -@export var appleCount: Vector2i = Vector2(0, 3) # 死亡后掉落的苹果数量 +@export var appleCount: Vector2i = Vector2(0, 2) # 死亡后掉落的苹果数量 @export var level: int = 1 # 等级 @onready var animatree: AnimationTree = $"%animatree"