mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
1c481ca357
添加FeedHasField调试组件用于筛选特定字段的Feed,支持ALL和ANY两种组合模式 将EntityBase中苹果掉落数量上限从3调整为2
34 lines
718 B
GDScript
34 lines
718 B
GDScript
@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)
|