This commit is contained in:
DESKTOP-5RP3AKU\Jisol
2023-11-05 03:26:09 +08:00
parent ec4d6a15d7
commit 0014eff5e0
4034 changed files with 623229 additions and 41 deletions

View File

@@ -0,0 +1,230 @@
<module name="ai">
<enum name="EExecutor">
<var name="CLIENT"/>
<var name="SERVER"/>
</enum>
<enum name="EKeyType">
<var name="BOOL" value="1"/>
<var name="INT" value="2"/>
<var name="FLOAT" value="3"/>
<var name="STRING" value="4"/>
<var name="VECTOR" value="5"/> vector3
<var name="ROTATOR" value="6"/> vector3
<var name="NAME" value="7"/>
<var name="CLASS" value="8"/> type name
<var name="ENUM" value="9"/>
<var name="OBJECT" value="10"/>
</enum>
<bean name="BlackboardKey">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="is_static" type="bool"/> 是否为全局共享字段。 对应 ue 里 InstanceSynced 字段
<var name="type" type="EKeyType"/>
<var name="type_class_name" type="string"/> 具体类型名. 只对 ENUM,OBJECT 类型有意义
</bean>
<bean name="Blackboard">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="parent_name" type="string#ref=ai.TbBlackboard?"/>
<var name="keys" type="list,BlackboardKey"/>
</bean>
<table name="TbBlackboard" value="Blackboard" input="ai/blackboards"/>
<enum name="EFlowAbortMode">
<var name="NONE"/>
<var name="LOWER_PRIORITY"/>
<var name="SELF"/>
<var name="BOTH"/>
</enum>
<enum name="EFinishMode">
<var name="IMMEDIATE"/>
<var name="DELAYED"/>
</enum>
<enum name="ENotifyObserverMode">
<var name="ON_VALUE_CHANGE"/> 当值改变时就通知
<var name="ON_RESULT_CHANGE"/> 当PerformaConditionCheck计算结果发生变化时通知
</enum>
<enum name="EOperator">
<var name="IS_EQUAL_TO"/>
<var name="IS_NOT_EQUAL_TO"/>
<var name="IS_LESS_THAN"/>
<var name="IS_LESS_THAN_OR_EQUAL_TO"/>
<var name="IS_GREAT_THAN"/>
<var name="IS_GREAT_THAN_OR_EQUAL_TO"/>
<var name="CONTAINS"/>
<var name="NOT_CONTAINS"/>
</enum>
<bean name="KeyData">
<bean name="FloatKeyData">
<var name="value" type="float"/>
</bean>
<bean name="IntKeyData">
<var name="value" type="int"/>
</bean>
<bean name="StringKeyData">
<var name="value" type="string"/>
</bean>
<bean name="BlackboardKeyData">
<var name="value" type="string"/>
</bean>
</bean>
<bean name="KeyQueryOperator">
<bean name="IsSet"/>
<bean name="IsNotSet"/> 这两个类型只对 bool,class,enum,name,object,rotator,vector 有效
<bean name="BinaryOperator">
<var name="oper" type="EOperator"/>
<var name="data" type="KeyData"/>
</bean>
</bean>
对于与ue4内置节点完全一致的实现我们都加上Ue前缀。
<bean name="Node">
<var name="id" type="int"/>
<var name="node_name" type="string"/>
<bean name="Service">
<bean name="UeSetDefaultFocus"> NOT
<var name="keyboard_key" type="string"/>
</bean>
<bean name="ExecuteTimeStatistic"> 统计子节点执行时间.执行完毕后打印日志
</bean>
<bean name="ChooseTarget">
<var name="result_target_key" type="string"/> actor
</bean>
<bean name="KeepFaceTarget">
<var name="target_actor_key" type="string"/> actor
</bean>
<bean name="GetOwnerPlayer">
<var name="player_actor_key" type="string"/> player
</bean>
<bean name="UpdateDailyBehaviorProps">
<var name="satiety_key" type="string"/>
<var name="energy_key" type="string"/>
<var name="mood_key" type="string"/>
<var name="satiety_lower_threshold_key" type="string"/>
<var name="satiety_upper_threshold_key" type="string"/>
<var name="energy_lower_threshold_key" type="string"/>
<var name="energy_upper_threshold_key" type="string"/>
<var name="mood_lower_threshold_key" type="string"/>
<var name="mood_upper_threshold_key" type="string"/>
</bean>
</bean>
<bean name="Decorator">
<var name="flow_abort_mode" type="EFlowAbortMode"/>
<bean name="UeLoop">
<var name="num_loops" type="int"/>
<var name="infinite_loop" type="bool"/>
<var name="infinite_loop_timeout_time" type="float"/>
</bean>
<bean name="UeCooldown">
<var name="cooldown_time" type="float"/>
</bean>
<bean name="UeTimeLimit">
<var name="limit_time" type="float"/>
</bean>
<bean name="UeBlackboard">
<var name="notify_observer" type="ENotifyObserverMode"/>
<var name="blackboard_key" type="string"/>
<var name="key_query" type="KeyQueryOperator"/>
</bean>
<bean name="UeForceSuccess"/>
<bean name="IsAtLocation"> NOT
<var name="acceptable_radius" type="float"/>
<var name="keyboard_key" type="string"/>
<var name="inverse_condition" type="bool"/>
</bean>
<bean name="DistanceLessThan">
<var name="actor1_key" type="string"/> actor 对象1
<var name="actor2_key" type="string"/> actor 对象2
<var name="distance" type="float"/> float 距离
<var name="reverse_result" type="bool"/> 是否取反结果
</bean>
</bean>
<bean name="FlowNode">
<var name="decorators" type="list,Decorator"/>
<var name="services" type="list,Service"/>
<bean name="ComposeNode">
<bean name="Sequence">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="Selector">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="SimpleParallel">
<var name="finish_mode" type="EFinishMode"/>
<var name="main_task" type="Task"/>
<var name="background_node" type="FlowNode"/>
</bean>
</bean>
<bean name="Task">
<var name="ignore_restart_self" type="bool"/>
<!--bean name="TickableTask">
<var name="tick_interval" type="float"/>
<bean name="RandomMove">一个演示用的,随机移动的 Task
<var name="total_time" type="float"/>
<var name="speed" type="float"/>
</bean>
</bean-->
<bean name="UeWait">
<var name="wait_time" type="float"/>
<var name="random_deviation" type="float"/>
</bean>
<bean name="UeWaitBlackboardTime">
<var name="blackboard_key" type="string"/> float
</bean>
<bean name="MoveToTarget">
<var name="target_actor_key" type="string"/> actor
<var name="acceptable_radius" type="float"/> float
</bean>
<bean name="ChooseSkill">
<var name="target_actor_key" type="string"/> actor
<var name="result_skill_id_key" type="string"/> int
</bean>
<bean name="MoveToRandomLocation">
<var name="origin_position_key" type="string"/> vector3
<var name="radius" type="float"/>
</bean>
<bean name="MoveToLocation">
<var name="acceptable_radius" type="float"/>
</bean>
<bean name="DebugPrint">
<var name="text" type="string"/>
</bean>
</bean>
</bean>
</bean>
<bean name="BehaviorTree">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="blackboard_id" type="string#ref=ai.TbBlackboard"/>
<var name="root" type="ComposeNode"/>
</bean>
<table name="TbBehaviorTree" value="BehaviorTree" input="ai/behaviortrees"/>
</module>

View File

@@ -0,0 +1,53 @@
<module name="">
<enum name="AudioType">
<var name="UNKNOWN" value="0"/>
<var name="ACC" value="1"/>
<var name="AIFF" value="2"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.AudioType"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="CustomAudioType"/>
</mapper>
</enum>
<bean name="vec2" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector2"/>
<option name="constructor" value="ExternalTypeUtil.NewVector2"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector2"/>
<option name="constructor" value="ExternalTypeUtil.NewVector2"/>
</mapper>
</bean>
<bean name="vec3" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<var name="z" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector3"/>
<option name="constructor" value="ExternalTypeUtil.NewVector3"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector3"/>
<option name="constructor" value="ExternalTypeUtil.NewVector3"/>
</mapper>
</bean>
<bean name="vec4" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<var name="z" type="float"/>
<var name="w" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector4"/>
<option name="constructor" value="ExternalTypeUtil.NewVector4"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector4"/>
<option name="constructor" value="ExternalTypeUtil.NewVector4"/>
</mapper>
</bean>
</module>

View File

@@ -0,0 +1,48 @@
<module name="common">
<bean name="DateTimeRange" sep=";">
<var name="start_time" type="datetime?"/>
<var name="end_time" type="datetime?"/>
</bean>
<bean name="TimeOfDay" sep=":">
<var name="hour" type="int"/>
<var name="minute" type="int"/>
<var name="second" type="int"/>
</bean>
<bean name="OneDayTimeRange" sep=";">
<var name="start_time" type="TimeOfDay"/>
<var name="end_time" type="TimeOfDay"/>
</bean>
<enum name="EBoolOperator">
<var name="AND"/>
<var name="OR"/>
</enum>
<bean name="IntRange">
<var name="min" type="int"/>
<var name="max" type="int"/>
</bean>
<bean name="FloatRange">
<var name="min" type="float"/>
<var name="max" type="float"/>
</bean>
<bean name="GlobalConfig">
<!-- 背包相关 -->
<var name="x1" type="int" comment="背包容量"/>
<var name="x2" type="int"/>
<var name="x3" type="int"/>
<var name="x4" type="int"/>
<var name="x5" type="int"/>
<var name="x6" type="int"/>
<var name="x7" type="(list#sep=|),int"/>
</bean>
<table name="TbGlobalConfig" value="GlobalConfig" mode="one" input="common/全局常量配置表.xlsx"/>
</module>

View File

@@ -0,0 +1,152 @@
<module name="item">
<enum name="EItemQuality" comment="道具品质"> 道具的品质
<var name="WHITE" alias="白" comment="白"/>
<var name="GREEN" alias="绿"/>
<var name="BLUE" alias="蓝"/>
<var name="PURPLE" alias="紫"/>
<var name="GOLDEN" alias="金"/>
</enum>
<enum name="ECurrencyType">
<var name="DIAMOND" alias="钻石" value="1"/>
<var name="GOLD" alias="金币" value="2"/>
<var name="SILVER" alias="银币" value="3"/>
<var name="EXP" alias="经验" value="4"/>
<var name="POWER_POINT" alias="能量点" value="5"/>
</enum>
<enum name="EMajorType">
<var name="CURRENCY" alias="货币" value="1"/>
<var name="CLOTH" alias="服装" value="2"/>
<var name="QUEST" alias="任务" value="3"/>
<var name="CONSUMABLES" alias="消耗品" value="4"/>
<var name="TREASURE_BOX" alias="宝箱" value="5"/>
<var name="ACHIEVEMENT_AND_TITLE" alias="成就和称谓" value="6"/>
<var name="HEAD_FRAME" alias="头像框" value="7"/>
<var name="VOICE" alias="语音" value="8"/>
<var name="ACTION" alias="动作" value="9"/>
<var name="EXPANSION" alias="扩容道具" value="10"/>
<var name="MATERIAL" alias="制作材料" value="11"/>
</enum>
<enum name="EMinorType">
<var name="DIAMOND" alias="钻石" value="101"/>
<var name="GOLD" alias="金币" value="102"/>
<var name="SILVER" alias="银币" value="103"/>
<var name="EXP" alias="经验" value="104"/>
<var name="POWER_POINT" alias="能量点" value="105"/>
<var name="HAIR_STYLE" alias="发型" value="210"/>
<var name="COAT" alias="外套" value="220"/>
<var name="UPPER_JACKET" alias="上衣" value="230"/>
<var name="TROUSERS" alias="裤子" value="241"/>
<var name="SKIRT" alias="裙子" value="242"/>
<var name="SOCKS" alias="袜子" value="250"/>
<var name="SHOES" alias="鞋子" value="260"/>
<var name="HAIR_ACCESSORY" alias="发饰" value="271"/>
<var name="HAT" alias="帽子" value="272"/>
<var name="EARRING" alias="耳饰" value="273"/>
<var name="NECKLACE" alias="颈饰" value="274"/>
<var name="BRACELET" alias="腕饰" value="275"/>
<var name="HAIR_CLASP" alias="发箍" value="276"/>
<var name="GLOVE" alias="手套" value="277"/>
<var name="HANDHELD_OBJECT" alias="手持物" value="278"/>
<var name="SPECIAL" alias="特殊" value="279"/>
<var name="BASE_COSMETIC" alias="底妆" value="281"/>
<var name="EYEBROW_COSMETIC" alias="眉妆" value="282"/>
<var name="EYELASH" alias="睫毛" value="283"/>
<var name="COSMETIC_CONTACT_LENSES" alias="美瞳" value="284"/>
<var name="LIP_COSMETIC" alias="唇妆" value="285"/>
<var name="SKIN_COLOR" alias="肤色" value="286"/>
<var name="ONE_PIECE_DRESS" alias="连衣裙" value="290"/>
<var name="SWITCH_CLOTHES_SCENE" alias= "换装场景" value="291"/>
<var name="QUEST" alias="任务道具" value="301"/>
<var name="CAST" alias="投掷物" value="401"/>
<var name="SWORD" alias="刀剑" value="421"/>
<var name="BOW_ARROW" alias="弓箭" value="422"/>
<var name="WANDS" alias="法杖" value="423"/>
<var name="SPECIAL_TOOL" alias="特殊工具" value="424"/>
<var name="FOOD" alias="食物" value="403"/>
<var name="TREASURE_BOX" alias="宝箱" value="501"/>
<var name="KEY" alias="钥匙" value="502"/>
<var name="MULTI_CHOOSE_TREASURE_BOX" alias="多选一宝箱" value="503"/>
<var name="ACHIEVEMENT" alias="成就相关" value="601"/>
<var name="TITLE" alias="称谓相关" value="602"/>
<var name="AVATAR_FRAME" alias="头像框" value="701"/>
<var name="VOICE" alias="语音" value="801"/>
<var name="IDLE_POSE" alias="特殊待机动作" value="901"/>
<var name="PHOTO_POSE" alias="拍照动作" value="902"/>
<var name="BAG" alias="背包" value="1001"/>
<var name="FRIEND_CAPACITY" alias="好友数量" value="1002"/>
<var name="CONSTRUCTION_MATERIAL" alias="制作材料" value="1101"/>
<var name="DESIGN_DRAWING" alias="设计图纸" value="1102"/>
</enum>
<enum name="EClothersStarQualityType">
<var name="ONE" alias="一星" value="1" />
<var name="TWO" alias="二星" />
<var name="THREE" alias="三星" />
<var name="FOUR" alias="四星" />
<var name="FIVE" alias="五星" />
<var name="SIX" alias="六星" />
<var name="SEVEN" alias="七星" />
<var name="EIGHT" alias="八星" />
<var name="NINE" alias="九星" />
<var name="TEN" alias="十星" />
</enum>
<enum name="EClothersTag">风格标签
<var name="FANG_SHAI" alias="防晒" value="1" />
<var name="WU_ZHE" alias="舞者" />
</enum>
<enum name="EUseType"> 使用类型
<var name="MANUAL" alias="手动"/>
<var name="AUTO" alias="自动"/>
</enum>
<enum name="EClothesHidePartType"> 服装隐藏部位类型
<var name="CHEST" alias="胸部" value="0"/>
<var name="HEAD" alias="手"/>
<var name="SPINE_UPPER" alias="脊柱上"/>
<var name="SPINE_LOWER" alias="脊柱下"/>
<var name="HIP" alias="臀部"/>
<var name="LEG_UPPER" alias="腿上"/>
<var name="LEG_MIDDLE" alias="腿中"/>
<var name="LEG_LOWER" alias="腿下"/>
</enum>
<enum name="EClothesPropertyType">服装属性
<var name="JIAN_YUE" alias="简约" value="1" />
<var name="HUA_LI" alias="华丽" />
<var name="KE_AI" alias="可爱" />
<var name="CHENG_SHU" alias="成熟" />
<var name="HUO_PO" alias="活泼" />
<var name="YOU_YA" alias="优雅" />
<var name="QING_CHUN" alias="清纯" />
<var name="XING_GAN" alias="性感" />
<var name="QING_LIANG" alias="清凉" />
<var name="BAO_NUAN" alias="保暖" />
</enum>
<bean name="Item" comment="道具">
<var name="id" type="int" comment="道具id"/>
<var name="name" type="string"/>
<var name="major_type" type="EMajorType" group="c,s"/>
<var name="minor_type" type="EMinorType"/>
<var name="max_pile_num" type="int" group="s"/>
<var name="quality" type="EItemQuality"/>
<var name="icon" type="string" group="c"/>
<var name="icon_backgroud" type="string"/>
<var name="icon_mask" type="string"/>
<var name="desc" type="string"/>
<var name="show_order" type="int"/>
</bean>
<table name="TbItem" value="Item" input="通用道具表@item/道具系统表.xlsx" comment="道具表"/>
</module>

View File

@@ -0,0 +1,14 @@
<module name="l10n">
<bean name="L10NDemo">
<var name="id" type="int"/>
<var name="text" type="text"/>
</bean>
<table name="TbL10NDemo" value="L10NDemo" input="l10n/Demo.xlsx"/>
<bean name="PatchDemo">
<var name="id" type="int"/>
<var name="value" type="int"/>
</bean>
<table name="TbPatchDemo" value="PatchDemo" input="l10n/Patch.xlsx"/>
</module>

View File

@@ -0,0 +1,13 @@
<module name="tag">
<bean name="TestTag">
<var name="id" type="int"/>
<var name="value" type="string"/>
</bean>
<table name="TbTestTag" value="TestTag" input="tag_datas"/>
<!--bean name="TagSwitch">
<var name="unlock_equip" type="int"/>
<var name="unlock_hero" type="int"/>
</bean>
<table name="TbTagSwitch" value="TagSwitch" mode="one" input="test/tag_switch.xlsx"/-->
</module>

View File

@@ -0,0 +1,529 @@
<module name="test">
<enum name="DemoEnum">
<var name="NONE" value="0"/>
<var name="A" alias="aa" value="1"/>
<var name="B" alias="bb"/>
<var name="C" alias="cc" value="4"/>
<var name="D" alias="dd"/>
<var name="Any"/>
</enum>
<enum name="DemoFlag" flags="1">
<var name="A" value="1"/>
<var name="B" value="2"/>
<var name="C" value="4"/>
<var name="D" value="8"/>
</enum>
<bean name="DemoType1">
<var name="x1" type="int"/>
</bean>
<bean name="DemoDynamic"> 多态数据结构
<var name="x1" type="int"/>
<bean name="DemoD2" alias="测试别名">
<var name="x2" type="int"/>
</bean>
<bean name="DemoD3">
<var name="x3" type="int"/>
<bean name="DemoE1">
<var name="x4" type="int"/>
</bean>
</bean>
<bean name="DemoD5">
<var name="time" type="DateTimeRange"/>
</bean>
</bean>
<bean name="DemoE2" valueType="1">
<var name="y1" type="int?"/>
<var name="y2" type="bool"/>
</bean>
<bean name="DemoExplicitType">
<var name="x1" type="uint8"/>
<var name="x2" type="int16"/>
<var name="x3" type="int32"/>
<var name="x4" type="int64"/>
<var name="x5" type="float32"/>
<var name="x6" type="float64"/>
<var name="x7" type="bigint"/>
</bean>
<bean name="DemoType2" tags="d=5#a=3">
<var name="x4" type="int#range=[1,100]"/>
<var name="x1" type="bool#kind=cat#type=sss" tags="aa=10#bb=23"/>
<var name="x2" type="byte#kind=mouse#name=yyy" tags="aa#dd=32"/>
<var name="x3" type="short"/>
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="x7" type="double"/>
<var name="x8_0" type="short"/>
<var name="x8" type="int"/>
<var name="x9" type="long"/>
<var name="x10" type="string#res=demo"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="DemoEnum#sep=,"/>
<var name="x14" type="DemoDynamic#sep=,"/>多态数据结构
<var name="s1" type="text"/>
<var name="t1" type="datetime"/>
<var name="k1" type="array,int"/>
<var name="k2" type="list,int"/>
<var name="k5" type="set,int"/>
<var name="k8" type="(map#sep=,),int#ref=test.TbFullTypes,int#ref=test.TbFullTypes"/>
<var name="k9" type="(list#sep=;),DemoE2#sep=,"/>
<var name="k15" type="(array#sep=;),DemoDynamic#sep=,"/>
</bean>
<table name="TbFullTypes" index="x4" value="DemoType2" input="test/full_type.xlsx"/> 最常见的普通 key-value表
<bean name="DateTimeRange" sep=";">
<var name="start_time" type="datetime"/>
<var name="end_time" type="datetime"/>
</bean>
<bean name="DemoSingletonType">
<var name="id" type="int"/>
<var name="name" type="text"/>
<var name="date" type="DemoDynamic"/>
</bean>
<table name="TbSingleton" mode="one" value="DemoSingletonType" input="test/table_one.xlsx"/> 单例表,只有一个记录
<bean name="NotIndexList">
<var name="x" type="int"/>
<var name="y" type="int"/>
</bean>
<table name="TbNotIndexList" value="NotIndexList" mode="list" input="not_index@test/list.xlsx"/>
<bean name="MultiUnionIndexList">
<var name="id1" type="int"/>
<var name="id2" type="long"/>
<var name="id3" type="string"/>
<var name="num" type="int"/>
<var name="desc" type="string"/>
</bean>
<!-- index="id1,id2,id3" index="id1+id2+id3" index="id1&id2&id3" 都可以表达是 (id1,id2,id3) 联合唯一索引 -->
<table name="TbMultiUnionIndexList" value="MultiUnionIndexList" mode="list" index="id1+id2+id3" input="multi_union_index@test/list.xlsx"/>
<bean name="MultiIndexList">
<var name="id1" type="int"/>
<var name="id2" type="long"/>
<var name="id3" type="string"/>
<var name="num" type="int"/>
<var name="desc" type="string"/>
</bean>
<!-- index="id1|id2|id3" 表示这3个key分别都是唯一索引 -->
<table name="TbMultiIndexList" value="MultiIndexList" mode="list" index="id1,id2,id3" input="multi_index@test/list.xlsx"/>
<table name="TbDataFromMisc" value="DemoType2" input="test/misc_datas"/> 普通表不过数据从misc_datas目录递归读入各种类型的数据源
<bean name="MultiRowType1">
<var name="id" type="int"/>
<var name="x" type="int"/>
</bean>
<bean name="MultiRowType2">
<var name="id" type="int"/>
<var name="x" type="int"/>
<var name="y" type="float"/>
</bean>
<bean name="MultiRowType3">
<var name="id" type="int"/>
<var name="items" type="list,MultiRowType1"/>
</bean>
<bean name="MultiRowRecord">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="one_rows" type="list,MultiRowType1"/>
<var name="multi_rows1" type="list,MultiRowType1"/>
<var name="multi_rows2" type="array,MultiRowType1"/>
<!--var name="multi_rows3" type="set,MultiRowType2"/-->
<var name="multi_rows4" type="map,int,MultiRowType2"/>
<var name="multi_rows5" type="list,MultiRowType3"/>
<var name="multi_rows6" type="map,int,MultiRowType2"/>
<var name="multi_rows7" type="map,int,int"/>
</bean>
<table name="TbMultiRowRecord" value="MultiRowRecord" input="test/multi_rows_record.xlsx"/>
<bean name="Foo">
<var name="y1" type="int"/>
<var name="y2" type="int"/>
<var name="y3" type="int"/>
</bean>
<bean name="TestMultiColumn">
<var name="id" type="int"/>
<var name="a" type="Foo"/>
<var name="b" type="Foo"/>
<var name="c" type="Foo"/>
</bean>
<table name="TbTestMultiColumn" value="TestMultiColumn" input="test/multi_column.xlsx"/>
<enum name="ETestUeType">
<var name="WHITE" alias="白"/>
<var name="BLACK"/>
</enum>
<enum name="ETestEmptyEnum">
</enum>
<enum name="ETestEmptyEnum2">
<var name="SMALL_THAN_256" value="255"/>
<var name="X_256" value="256"/>
<var name="X_257" value="257"/>
</enum>
<bean name="TestUeType">
<var name="x1" type="bool"/>
<var name="x2" type="byte"/>
<var name="x3" type="short"/>
<var name="x4" type="int"/>
<var name="x5" type="long"/>
<var name="x6" type="float"/>
<var name="x10" type="string"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="ETestUeType"/>
<var name="t1" type="datetime"/>
<var name="k1" type="array,int"/>
<var name="k2" type="list,int"/>
<var name="k5" type="set,int"/>
<var name="k8" type="map,int,int"/>
<var name="k9" type="list,DemoE2"/>
</bean>
<bean name="H1">
<var name="y2" type="H2"/>
<var name="y3" type="int"/>
</bean>
<bean name="H2">
<var name="z2" type="int"/>
<var name="z3" type="int"/>
</bean>
<bean name="MultiRowTitle">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="x1" type="H1"/>
<var name="x2_0" type="H2?"/>
<var name="x2" type="list,H2"/>
<var name="x3" type="array,H2"/>
<var name="x4" type="array,H2"/>
</bean>
<table name="TbMultiRowTitle" value="MultiRowTitle" input="test/multi_level_title.xlsx"/>
<bean name="TestNull">
<var name="id" type="int"/>
<var name="x1" type="int?"/>
<var name="x2" type="DemoEnum?"/>
<var name="x3" type="DemoType1?"/>
<var name="x4" type="DemoDynamic?"/>
<var name="s1" type="string?"/>
<var name="s2" type="text?"/>
</bean>
<table name="TbTestNull" value="TestNull" input="test/test_null_datas"/>
<bean name="DemoPrimitiveTypesTable">
<var name="x1" type="bool"/>
<var name="x2" type="byte"/>
<var name="x3" type="short"/>
<var name="x4" type="int" />
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="x7" type="double"/>
<var name="s1" type="string" />
<var name="s2" type="text"/>
<var name="v2" type="vec2"/>
<var name="v3" type="vec3"/>
<var name="v4" type="vec4"/>
<var name="t1" type="datetime"/>
</bean>
<table name="TbDemoPrimitive" index="x4" value="DemoPrimitiveTypesTable" input="test/demo_primitive.xlsx"/>
<bean name="CompactString">
<var name="id" type="int"/>
<var name="s2" type="string"/>
<var name="s3" type="string"/>
</bean>
<bean name="TestString">
<var name="id" type="string"/>
<var name="s1" type="string"/>
<var name="s2" type="string#escape=1"/>
<var name="cs1" type="CompactString"/>
<var name="cs2" type="CompactString"/>
</bean>
<table name="TbTestString" value="TestString" input="test/test_string.xlsx"/>
<bean name="InnerGroup">
<var name="y1" type="int"/> 默认属于所有分组c,s,e
<var name="y2" type="int" group="c"/>属于 c 分组
<var name="y3" type="int" group="s"/>属于s分组
<var name="y4" type="int" group="c,s"/>属于c,s分组
</bean>
<bean name="DemoGroup">
<var name="id" type="int"/>
<var name="x1" type="int#ref=test.TbDemoGroup_C" group="c"/> 默认属于所有分组c,s,e
<var name="x2" type="int#ref=test.TbDemoGroup_S" group="s"/>属于 c 分组
<var name="x3" type="int#ref=test.TbDemoGroup_E" group="e"/>属于s分组
<var name="x4" type="int" group="c,s"/>属于c,s分组
<var name="x5" type="InnerGroup"/>
</bean>
<table name="TbDemoGroup" value="DemoGroup" input="test/demo_group.xlsx"/>
<table name="TbDemoGroup_C" value="DemoGroup" group="c" input="test/demo_group.xlsx"/> 此表只属于c分组
<table name="TbDemoGroup_S" value="DemoGroup" group="s" input="test/demo_group.xlsx"/> 此表只属于s分组
<table name="TbDemoGroup_E" value="DemoGroup" group="e" input="test/demo_group.xlsx"/> 此表只属于e分组
<bean name="TestGlobal">
<var name="unlock_equip" type="int"/>
<var name="unlock_hero" type="int"/>
</bean>
<table name="TbTestGlobal" value="TestGlobal" mode="one" input="test/global.xlsx"/>
<bean name="TestBeRef">
<var name="id" type="int"/>
<var name="count" type="int"/>
</bean>
<table name="TbTestBeRef" value="TestBeRef" input="be_ref1@test/test_ref.xlsx"/>
<table name="TbTestBeRef2" value="TestBeRef" input="be_ref2@test/test_ref.xlsx"/>
<refgroup name="test_ref_group" ref="test.TbTestBeRef,test.TbTestBeRef2"/>
<refgroup name="test_ref_group2" ref="test.TbTestBeRef"/>
<bean name="RefDynamicBase">
<var name="x" type="int#ref=test.TbTestBeRef"/>
<bean name="RefBean">
<var name="arr" type="(list#sep=|),(int#ref=test.TbTestBeRef)"/>
</bean>
</bean>
<bean name="TestRef">
<var name="id" type="int"/>
<var name="x1" type="int#ref=test.TbTestBeRef"/> var中的ref属性纯粹是语法糖理论上只应该如x2那样定义在type里
<var name="x1_2" type="int#ref=test.TbTestBeRef"/> var中的ref属性纯粹是语法糖理论上只应该如x2那样定义在type里
<var name="x2" type="int#ref=test_ref_group2"/>
<var name="x3" type="int#ref=test_ref_group"/>
<var name="x4" type="int#ref=tag.TbTestTag"/>
<var name="a1" type="array,(int#ref=test.TbTestBeRef)"/>
<var name="a2" type="array,(int#ref=test.TbTestBeRef)"/>
<var name="b1" type="list,(int#ref=test.TbTestBeRef)"/>
<var name="b2" type="list,(int#ref=test.TbTestBeRef)"/>
<var name="c1" type="set,(int#ref=test.TbTestBeRef)"/>
<var name="c2" type="set,(int#ref=test.TbTestBeRef)"/>
<var name="d1" type="(map#aaa=5),int#ref=test.TbTestBeRef,int#ref=test.TbTestBeRef"/>
<var name="d2" type="map#aaa=5;int#ref=test.TbTestBeRef;int#ref=test.TbTestBeRef"/>
<var name="e1" type="int#ref=id1@test.TbMultiIndexList"/>
<var name="e2" type="long#ref=id2@test.TbMultiIndexList"/>
<var name="e3" type="string#ref=id3@test.TbMultiIndexList"/>
<var name="f1" type="int#ref=id1@test.TbMultiIndexList"/>
<var name="f2" type="long#ref=id2@test.TbMultiIndexList"/>
<var name="f3" type="string#ref=id3@test.TbMultiIndexList"/>
<var name="s1" type="RefDynamicBase"/>
</bean>
<table name="TbTestRef" value="TestRef" input="ref@test/test_ref.xlsx"/>
<bean name="TestSize">
<var name="id" type="int"/>
<var name="x1" type="(array#size=2),int"/>
<var name="x2" type="(list#(size=[1, 3])),int"/>
<var name="x3" type="(set#(size=[1,])),int"/>
<var name="x4" type="(map#(size=(1, 3))),int,int"/>
</bean>
<table name="TbTestSize" value="TestSize" input="test/test_size.xlsx"/>
<bean name="TestSet">
<var name="id" type="int"/>
<var name="x0" type="string#(set=ab,cd)"/>
<var name="x1" type="list,int#set=1,2,3,4,5"/>
<var name="x2" type="list,long#set=2,3,4,5"/>
<var name="x3" type="list,string#set=ab,cd"/>
<var name="x4" type="list,DemoEnum#set=A,B"/>
</bean>
<table name="TbTestSet" value="TestSet" input="test/test_set.xlsx"/>
<bean name="DetectEncoding">
<var name="id" type="int"/>
<var name="name" type="string"/>
</bean>
<table name="TbDetectCsvEncoding" value="DetectEncoding" input="test/detect_csv_encoding_utf8.csv,test/detect_csv_encoding_ansi.csv,test/detect_csv_encoding_big5.csv,test/detect_csv_encoding_gb2312.csv,"/>
<bean name="ItemBase">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="desc" type="string"/>
<bean name="Item">
<var name="num" type="int"/>
<var name="price" type="int"/>
</bean>
<bean name="Equipment">
<var name="attr" type="DemoEnum"/>
<var name="value" type="int"/>
</bean>
<bean name="Decorator">
<var name="duration" type="int"/>
</bean>
</bean>
<table name="TbItem2" value="ItemBase" input="test/item.xlsx"/>
<!--table name="TbDefineFromExcel" value="DefineFromExcel" input="test/define_from_excel.xlsx" define_from_file="1"/>
<table name="TbDefineFromExcelOne" value="DefineFromExcelOne" mode="one" input="test/define_from_excel_one.xlsx" define_from_file="1"/-->
<!--bean name="TestJson2">
<var name="id" type="int"/>
<var name="m1" type="map,int,int"/>
<var name="m2" type="map,long,int"/>
<var name="m3" type="map,string,int"/>
<var name="m4" type="map,string,DemoType1"/>
</bean>
<table name="TbTestMap2" value="TestJson2" input="test/test_json2.xlsx"/-->
<bean name="TestIndex">
<var name="id" type="int"/>
<var name="eles" type="(list#index=x1),DemoType1"/>
</bean>
<table name="TbTestIndex" value="TestIndex" input="test/test_index.xlsx"/>
<bean name="TestMap">
<var name="id" type="int#ref=test.TbTestIndex"/>
<var name="x1" type="map,int,int"/>
<var name="x2" type="map,long,int"/>
<var name="x3" type="map,string,int"/>
<var name="x4" type="map,DemoEnum,int"/>
</bean>
<table name="TbTestMap" value="TestMap" input="test/test_map.xlsx"/>
<bean name="ExcelFromJson">
<var name="x4" type="int" />
<var name="x1" type="bool"/>
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="s1" type="string"/>
<var name="s2" type="text"/>
<var name="t1" type="datetime"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="DemoEnum"/>
<var name="x14" type="DemoDynamic"/>多态数据结构
<var name="k1" type="array,int"/>
<var name="k8" type="map,int,int"/>
<var name="k9" type="list,DemoE2"/>
<var name="k15" type="array,DemoDynamic"/>
</bean>
<table name="TbExcelFromJson" value="ExcelFromJson" input="test/excel_jsons"/>
<bean name="CompositeJsonTable1">
<var name="id" type="int"/>
<var name="x" type="string"/>
</bean>
<bean name="CompositeJsonTable2">
<var name="id" type="int"/>
<var name="y" type="int"/>
</bean>
<bean name="CompositeJsonTable3">
<var name="a" type="int"/>
<var name="b" type="int"/>
</bean>
<table name="TbCompositeJsonTable1" value="CompositeJsonTable1" input="*table1@test/composite_tables.json,*@test/composite_tables2.json"/>
<table name="TbCompositeJsonTable2" value="CompositeJsonTable2" input="*table2@test/composite_tables.json"/>
<table name="TbCompositeJsonTable3" value="CompositeJsonTable3" mode="one" input="table3@test/composite_tables.json"/>
<bean name="Test3">
<var name="x" type="int"/>
<var name="y" type="int"/>
</bean>
<bean name="TestRow">
<var name="x" type="int"/>
<var name="y" type="bool"/>
<var name="z" type="string"/>
<var name="a" type="Test3"/>
<var name="b" type="list,int"/>
</bean>
<bean name="ExcelFromJsonMultiRow">
<var name="id" type="int"/>
<var name="x" type="int"/>
<var name="items" type="list,TestRow"/>
</bean>
<table name="TbExcelFromJsonMultiRow" value="ExcelFromJsonMultiRow" input="test/excel_multi_row_jsons"/>
<bean name="SepVector" sep=",">
<var name="x" type="int"/>
<var name="y" type="int"/>
<var name="z" type="int"/>
</bean>
<bean name="SepBean1">
<var name="a" type="int"/>
<var name="b" type="int"/>
<var name="c" type="string"/>
</bean>
<!--table name="TbTestSep" value="TestSep" define_from_file="1" input="test/test_sep.xlsx"/-->
<bean name="TestScriptableObject">
<var name="id" type="int"/>
<var name="desc" type="string"/>
<var name="rate" type="float"/>
<var name="num" type="int"/>
<var name="v2" type="vec2"/>
<var name="v3" type="vec3"/>
<var name="v4" type="vec4"/>
</bean>
<table name="TbTestScriptableObject" value="TestScriptableObject" input="test/unity_scriptable_objects"/>
<bean name="Path">
<var name="id" type="int"/>
<var name="res" type="string#path=unity"/>
</bean>
<table name="TbPath" value="Path" input="test/path.xlsx"/>
<!--table name="TbTestExternalType" value="TestExternalType" define_from_file="1" input="test/external_type.xlsx"/-->
<bean name="TestMapper">
<var name="id" type="int"/>
<var name="audio_type" type="AudioType"/>
<var name="v2" type="vec2"/>
</bean>
<table name="TbTestMapper" value="TestMapper" input="test/type_mapper.xlsx"/>
<module name="login">
支持在一个定义文件中 定义多个模块。 一般来说一个定义文件中一个模块比较好,但有些情况下为了方便可以定义多个。
<bean name="RoleInfo" parent="test.DemoD3">
<var name="role_id" type="long"/>
</bean>
</module>
</module>