sapdon 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/dist/cli/build.d.ts +7 -0
  2. package/dist/cli/build.js +234 -0
  3. package/dist/cli/dev-server/client.d.ts +2 -0
  4. package/dist/cli/dev-server/client.js +21 -0
  5. package/dist/cli/dev-server/config.d.ts +3 -0
  6. package/dist/cli/dev-server/config.js +3 -0
  7. package/dist/cli/dev-server/handles.d.ts +4 -0
  8. package/dist/cli/dev-server/handles.js +5 -0
  9. package/dist/cli/dev-server/hmr.d.ts +1 -0
  10. package/dist/cli/dev-server/hmr.js +13 -0
  11. package/dist/cli/dev-server/index.d.ts +4 -0
  12. package/dist/cli/dev-server/index.js +17 -0
  13. package/dist/cli/dev-server/server.d.ts +14 -0
  14. package/dist/cli/dev-server/server.js +59 -0
  15. package/dist/cli/dev-server/syncFiles.d.ts +3 -0
  16. package/dist/cli/dev-server/syncFiles.js +37 -0
  17. package/dist/cli/index.d.ts +23 -0
  18. package/dist/cli/index.js +1 -0
  19. package/dist/cli/init.d.ts +9 -0
  20. package/dist/cli/init.js +80 -0
  21. package/dist/cli/load.d.ts +3 -0
  22. package/dist/cli/load.js +94 -0
  23. package/dist/cli/start.d.ts +2 -0
  24. package/dist/cli/start.js +2 -0
  25. package/dist/cli/tools/textureSet.d.ts +13 -0
  26. package/dist/cli/tools/textureSet.js +103 -0
  27. package/dist/cli/utils.d.ts +13 -0
  28. package/dist/cli/utils.js +89 -0
  29. package/dist/core/addon/biome.d.ts +22 -0
  30. package/dist/core/addon/biome.js +27 -0
  31. package/dist/core/addon/block/block.d.ts +41 -0
  32. package/dist/core/addon/block/block.js +46 -0
  33. package/dist/core/addon/controllers/animationController.d.ts +43 -0
  34. package/dist/core/addon/controllers/animationController.js +73 -0
  35. package/dist/core/addon/entity/clientEntity.d.ts +107 -0
  36. package/dist/core/addon/entity/clientEntity.js +149 -0
  37. package/dist/core/addon/entity/entity.d.ts +42 -0
  38. package/dist/core/addon/entity/entity.js +50 -0
  39. package/dist/core/addon/feature/oreFeature.d.ts +19 -0
  40. package/dist/core/addon/feature/oreFeature.js +24 -0
  41. package/dist/core/addon/featureRule.d.ts +20 -0
  42. package/dist/core/addon/featureRule.js +25 -0
  43. package/dist/core/addon/item/attachable.d.ts +94 -0
  44. package/dist/core/addon/item/attachable.js +134 -0
  45. package/dist/core/addon/item/item.d.ts +19 -0
  46. package/dist/core/addon/item/item.js +26 -0
  47. package/dist/core/addon/manifest.d.ts +49 -0
  48. package/dist/core/addon/manifest.js +65 -0
  49. package/dist/core/addon/menuCategory.d.ts +6 -0
  50. package/dist/core/addon/menuCategory.js +7 -0
  51. package/dist/core/addon/recipe/baseRecipe.d.ts +12 -0
  52. package/dist/core/addon/recipe/baseRecipe.js +23 -0
  53. package/dist/core/addon/recipe/data.d.ts +66 -0
  54. package/dist/core/addon/recipe/data.js +74 -0
  55. package/dist/core/addon/recipe/furnace.d.ts +17 -0
  56. package/dist/core/addon/recipe/furnace.js +43 -0
  57. package/dist/core/addon/recipe/shaped.d.ts +26 -0
  58. package/dist/core/addon/recipe/shaped.js +53 -0
  59. package/dist/core/addon/recipe/shapeless.d.ts +18 -0
  60. package/dist/core/addon/recipe/shapeless.js +36 -0
  61. package/dist/core/biome/biome.d.ts +14 -0
  62. package/dist/core/biome/biome.js +23 -0
  63. package/dist/core/biome/biomeComponent.d.ts +46 -0
  64. package/dist/core/biome/biomeComponent.js +77 -0
  65. package/dist/core/block/basicBlock.d.ts +48 -0
  66. package/dist/core/block/basicBlock.js +105 -0
  67. package/dist/core/block/block.d.ts +32 -0
  68. package/dist/core/block/block.js +92 -0
  69. package/dist/core/block/blockComponent.d.ts +187 -0
  70. package/dist/core/block/blockComponent.js +500 -0
  71. package/dist/core/block/cropBlock.d.ts +4 -0
  72. package/dist/core/block/cropBlock.js +27 -0
  73. package/dist/core/block/geometryBlock.d.ts +12 -0
  74. package/dist/core/block/geometryBlock.js +16 -0
  75. package/dist/core/block/oreBlock.d.ts +9 -0
  76. package/dist/core/block/oreBlock.js +25 -0
  77. package/dist/core/block/rotatableBlock.d.ts +27 -0
  78. package/dist/core/block/rotatableBlock.js +107 -0
  79. package/dist/core/block/tileBlock.d.ts +17 -0
  80. package/dist/core/block/tileBlock.js +125 -0
  81. package/dist/core/entity/basicEntity.d.ts +111 -0
  82. package/dist/core/entity/basicEntity.js +170 -0
  83. package/dist/core/entity/behavior/followMob.d.ts +12 -0
  84. package/dist/core/entity/behavior/followMob.js +35 -0
  85. package/dist/core/entity/behavior/followParent.d.ts +7 -0
  86. package/dist/core/entity/behavior/followParent.js +15 -0
  87. package/dist/core/entity/behavior/randomStroll.d.ts +31 -0
  88. package/dist/core/entity/behavior/randomStroll.js +63 -0
  89. package/dist/core/entity/behavior/tempt.d.ts +73 -0
  90. package/dist/core/entity/behavior/tempt.js +134 -0
  91. package/dist/core/entity/bundles/basicBundle.d.ts +13 -0
  92. package/dist/core/entity/bundles/basicBundle.js +45 -0
  93. package/dist/core/entity/clientEntity.d.ts +20 -0
  94. package/dist/core/entity/clientEntity.js +37 -0
  95. package/dist/core/entity/componets/entityComponet.d.ts +202 -0
  96. package/dist/core/entity/componets/entityComponet.js +347 -0
  97. package/dist/core/entity/data/nativeEntityData.d.ts +9 -0
  98. package/dist/core/entity/data/nativeEntityData.js +38 -0
  99. package/dist/core/entity/entity.d.ts +15 -0
  100. package/dist/core/entity/entity.js +18 -0
  101. package/dist/core/entity/nativeEntity.d.ts +8 -0
  102. package/dist/core/entity/nativeEntity.js +28 -0
  103. package/dist/core/entity/navigation/walk.d.ts +23 -0
  104. package/dist/core/entity/navigation/walk.js +56 -0
  105. package/dist/core/entity/projectile.d.ts +3 -0
  106. package/dist/core/entity/projectile.js +7 -0
  107. package/dist/core/factory/biomeFactory.d.ts +4 -0
  108. package/dist/core/factory/biomeFactory.js +13 -0
  109. package/dist/core/factory/blockFactory.d.ts +34 -0
  110. package/dist/core/factory/blockFactory.js +143 -0
  111. package/dist/core/factory/entityFactory.d.ts +17 -0
  112. package/dist/core/factory/entityFactory.js +75 -0
  113. package/dist/core/factory/featureFactory.d.ts +6 -0
  114. package/dist/core/factory/featureFactory.js +23 -0
  115. package/dist/core/factory/itemExtra.d.ts +8 -0
  116. package/dist/core/factory/itemExtra.js +9 -0
  117. package/dist/core/factory/itemFactory.d.ts +27 -0
  118. package/dist/core/factory/itemFactory.js +112 -0
  119. package/dist/core/factory/recipeFactory.d.ts +18 -0
  120. package/dist/core/factory/recipeFactory.js +39 -0
  121. package/dist/core/factory/uiFactory.d.ts +12 -0
  122. package/dist/core/factory/uiFactory.js +32 -0
  123. package/dist/core/feature/oreFeature.d.ts +10 -0
  124. package/dist/core/feature/oreFeature.js +11 -0
  125. package/dist/core/feature-rule/condition/biomeFilter.d.ts +26 -0
  126. package/dist/core/feature-rule/condition/biomeFilter.js +36 -0
  127. package/dist/core/feature-rule/condition/featureConditions.d.ts +27 -0
  128. package/dist/core/feature-rule/condition/featureConditions.js +37 -0
  129. package/dist/core/feature-rule/distribution/coordinateDistribution.d.ts +17 -0
  130. package/dist/core/feature-rule/distribution/coordinateDistribution.js +23 -0
  131. package/dist/core/feature-rule/distribution/featureDistribution.d.ts +31 -0
  132. package/dist/core/feature-rule/distribution/featureDistribution.js +41 -0
  133. package/dist/core/feature-rule/featureRule.d.ts +17 -0
  134. package/dist/core/feature-rule/featureRule.js +26 -0
  135. package/dist/core/index.d.ts +2062 -0
  136. package/dist/core/index.js +1 -0
  137. package/dist/core/item/armor.d.ts +21 -0
  138. package/dist/core/item/armor.js +90 -0
  139. package/dist/core/item/attachable.d.ts +6 -0
  140. package/dist/core/item/attachable.js +26 -0
  141. package/dist/core/item/food.d.ts +24 -0
  142. package/dist/core/item/food.js +38 -0
  143. package/dist/core/item/item.d.ts +36 -0
  144. package/dist/core/item/item.js +69 -0
  145. package/dist/core/item/itemComponents.d.ts +113 -0
  146. package/dist/core/item/itemComponents.js +225 -0
  147. package/dist/core/registry.d.ts +12 -0
  148. package/dist/core/registry.js +16 -0
  149. package/dist/core/texture.d.ts +18 -0
  150. package/dist/core/texture.js +38 -0
  151. package/dist/core/ui/buttonMapping.d.ts +97 -0
  152. package/dist/core/ui/buttonMapping.js +132 -0
  153. package/dist/core/ui/dataBindingObject.d.ts +97 -0
  154. package/dist/core/ui/dataBindingObject.js +134 -0
  155. package/dist/core/ui/elements/button.d.ts +21 -0
  156. package/dist/core/ui/elements/button.js +101 -0
  157. package/dist/core/ui/elements/collectionPanel.d.ts +12 -0
  158. package/dist/core/ui/elements/collectionPanel.js +53 -0
  159. package/dist/core/ui/elements/grid.d.ts +8 -0
  160. package/dist/core/ui/elements/grid.js +33 -0
  161. package/dist/core/ui/elements/image.d.ts +13 -0
  162. package/dist/core/ui/elements/image.js +55 -0
  163. package/dist/core/ui/elements/label.d.ts +14 -0
  164. package/dist/core/ui/elements/label.js +61 -0
  165. package/dist/core/ui/elements/panel.d.ts +11 -0
  166. package/dist/core/ui/elements/panel.js +49 -0
  167. package/dist/core/ui/elements/scrollingPanel.d.ts +14 -0
  168. package/dist/core/ui/elements/scrollingPanel.js +59 -0
  169. package/dist/core/ui/elements/stackPanel.d.ts +14 -0
  170. package/dist/core/ui/elements/stackPanel.js +37 -0
  171. package/dist/core/ui/elements/uiElement.d.ts +53 -0
  172. package/dist/core/ui/elements/uiElement.js +129 -0
  173. package/dist/core/ui/properties/control.d.ts +214 -0
  174. package/dist/core/ui/properties/control.js +286 -0
  175. package/dist/core/ui/properties/dataBinding.d.ts +6 -0
  176. package/dist/core/ui/properties/dataBinding.js +16 -0
  177. package/dist/core/ui/properties/factory.d.ts +37 -0
  178. package/dist/core/ui/properties/factory.js +62 -0
  179. package/dist/core/ui/properties/gridProp.d.ts +65 -0
  180. package/dist/core/ui/properties/gridProp.js +90 -0
  181. package/dist/core/ui/properties/input.d.ts +97 -0
  182. package/dist/core/ui/properties/input.js +134 -0
  183. package/dist/core/ui/properties/layout.d.ts +105 -0
  184. package/dist/core/ui/properties/layout.js +145 -0
  185. package/dist/core/ui/properties/scrollView.d.ts +105 -0
  186. package/dist/core/ui/properties/scrollView.js +145 -0
  187. package/dist/core/ui/properties/sound.d.ts +47 -0
  188. package/dist/core/ui/properties/sound.js +66 -0
  189. package/dist/core/ui/properties/sprite.d.ts +161 -0
  190. package/dist/core/ui/properties/sprite.js +222 -0
  191. package/dist/core/ui/properties/text.d.ts +135 -0
  192. package/dist/core/ui/properties/text.js +187 -0
  193. package/dist/core/ui/registry/uiSystemRegistry.d.ts +8 -0
  194. package/dist/core/ui/registry/uiSystemRegistry.js +26 -0
  195. package/dist/core/ui/systems/chest.d.ts +5 -0
  196. package/dist/core/ui/systems/chest.js +21 -0
  197. package/dist/core/ui/systems/containerUISystem.d.ts +67 -0
  198. package/dist/core/ui/systems/containerUISystem.js +214 -0
  199. package/dist/core/ui/systems/guidebook.d.ts +9 -0
  200. package/dist/core/ui/systems/guidebook.js +206 -0
  201. package/dist/core/ui/systems/serverForm.d.ts +13 -0
  202. package/dist/core/ui/systems/serverForm.js +116 -0
  203. package/dist/core/ui/systems/system.d.ts +16 -0
  204. package/dist/core/ui/systems/system.js +37 -0
  205. package/dist/oc/index.d.ts +142 -0
  206. package/dist/oc/index.js +1 -0
  207. package/doc/sapdon-ts.md +35 -1
  208. package/package.json +6 -8
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Input 类
3
+ *
4
+ * 该类表示输入配置,用于管理 UI 元素的输入行为。
5
+ *
6
+ * 属性:
7
+ * - button_mappings: Array of mapping objects - 按钮映射配置
8
+ * - modal: boolean - 是否为模态输入
9
+ * - inline_modal: boolean - 是否为内联模态输入
10
+ * - always_listen_to_input: boolean - 是否始终监听输入
11
+ * - always_handle_pointer: boolean - 是否始终处理指针事件
12
+ * - always_handle_controller_direction: boolean - 是否始终处理控制器方向事件
13
+ * - hover_enabled: boolean - 是否启用悬停事件
14
+ * - prevent_touch_input: boolean - 是否阻止触摸输入
15
+ * - consume_event: boolean - 是否消耗事件
16
+ * - consume_hover_events: boolean - 是否消耗悬停事件
17
+ * - gesture_tracking_button: string - 手势跟踪按钮
18
+ */
19
+ export class Input {
20
+ constructor() {
21
+ /*
22
+ this.button_mappings = [];
23
+ this.modal = false;
24
+ this.inline_modal = false;
25
+ this.always_listen_to_input = false;
26
+ this.always_handle_pointer = false;
27
+ this.always_handle_controller_direction = false;
28
+ this.hover_enabled = false;
29
+ this.prevent_touch_input = false;
30
+ this.consume_event = false;
31
+ this.consume_hover_events = false;
32
+ this.gesture_tracking_button = '';
33
+ */
34
+ }
35
+ /**
36
+ * 设置按钮映射配置。
37
+ * @param {ButtonMapping[]} mappings - 按钮映射配置数组
38
+ * @returns {Input} 返回当前实例以支持链式调用
39
+ */
40
+ setButtonMappings(mappings) {
41
+ this.button_mappings = mappings;
42
+ return this;
43
+ }
44
+ /**
45
+ * 设置是否为模态输入。
46
+ * @param {boolean} modal - 是否为模态输入
47
+ * @returns {Input} 返回当前实例以支持链式调用
48
+ */
49
+ setModal(modal = false) {
50
+ this.modal = modal;
51
+ return this;
52
+ }
53
+ /**
54
+ * 设置是否为内联模态输入。
55
+ * @param {boolean} inlineModal - 是否为内联模态输入
56
+ * @returns {Input} 返回当前实例以支持链式调用
57
+ */
58
+ setInlineModal(inlineModal = false) {
59
+ this.inline_modal = inlineModal;
60
+ return this;
61
+ }
62
+ /**
63
+ * 设置是否始终监听输入。
64
+ * @param {boolean} alwaysListen - 是否始终监听输入
65
+ * @returns {Input} 返回当前实例以支持链式调用
66
+ */
67
+ setAlwaysListenToInput(alwaysListen = false) {
68
+ this.always_listen_to_input = alwaysListen;
69
+ return this;
70
+ }
71
+ /**
72
+ * 设置是否始终处理指针事件。
73
+ * @param {boolean} alwaysHandle - 是否始终处理指针事件
74
+ * @returns {Input} 返回当前实例以支持链式调用
75
+ */
76
+ setAlwaysHandlePointer(alwaysHandle = false) {
77
+ this.always_handle_pointer = alwaysHandle;
78
+ return this;
79
+ }
80
+ /**
81
+ * 设置是否始终处理控制器方向事件。
82
+ * @param {boolean} alwaysHandle - 是否始终处理控制器方向事件
83
+ * @returns {Input} 返回当前实例以支持链式调用
84
+ */
85
+ setAlwaysHandleControllerDirection(alwaysHandle = false) {
86
+ this.always_handle_controller_direction = alwaysHandle;
87
+ return this;
88
+ }
89
+ /**
90
+ * 设置是否启用悬停事件。
91
+ * @param {boolean} enabled - 是否启用悬停事件
92
+ * @returns {Input} 返回当前实例以支持链式调用
93
+ */
94
+ setHoverEnabled(enabled = false) {
95
+ this.hover_enabled = enabled;
96
+ return this;
97
+ }
98
+ /**
99
+ * 设置是否阻止触摸输入。
100
+ * @param {boolean} prevent - 是否阻止触摸输入
101
+ * @returns {Input} 返回当前实例以支持链式调用
102
+ */
103
+ setPreventTouchInput(prevent = false) {
104
+ this.prevent_touch_input = prevent;
105
+ return this;
106
+ }
107
+ /**
108
+ * 设置是否消耗事件。
109
+ * @param {boolean} consume - 是否消耗事件
110
+ * @returns {Input} 返回当前实例以支持链式调用
111
+ */
112
+ setConsumeEvent(consume = false) {
113
+ this.consume_event = consume;
114
+ return this;
115
+ }
116
+ /**
117
+ * 设置是否消耗悬停事件。
118
+ * @param {boolean} consume - 是否消耗悬停事件
119
+ * @returns {Input} 返回当前实例以支持链式调用
120
+ */
121
+ setConsumeHoverEvents(consume = false) {
122
+ this.consume_hover_events = consume;
123
+ return this;
124
+ }
125
+ /**
126
+ * 设置手势跟踪按钮。
127
+ * @param {string} button - 手势跟踪按钮
128
+ * @returns {Input} 返回当前实例以支持链式调用
129
+ */
130
+ setGestureTrackingButton(button) {
131
+ this.gesture_tracking_button = button;
132
+ return this;
133
+ }
134
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Layout 类
3
+ *
4
+ * 该类表示一个具有各种属性和方法的 UI 布局元素,用于操作其布局和大小。
5
+ *
6
+ * 属性:
7
+ * - size: Vector [width, height] - UI 元素的大小(默认值:["default", "default"])
8
+ * - max_size: Vector [width, height] - UI 元素的最大大小(默认值:["default", "default"])
9
+ * - min_size: Vector [width, height] - UI 元素的最小大小(默认值:["default", "default"])
10
+ * - offset: Vector [x, y] - UI 元素相对于父元素的位置(默认值:[0, 0])
11
+ * - anchor_from: enum - 父元素中的锚点(默认值:center)
12
+ * - anchor_to: enum - 元素自身的锚点(默认值:center)
13
+ * - inherit_max_sibling_width: boolean - 是否使用兄弟元素的最大宽度(默认值:false)
14
+ * - inherit_max_sibling_height: boolean - 是否使用兄弟元素的最大高度(默认值:false)
15
+ * - use_anchored_offset: boolean - 是否使用基于锚点的偏移(默认值:false)
16
+ * - contained: boolean - 是否限制元素在父元素边界内(默认值:false)
17
+ * - draggable: enum - 是否使元素可拖动(可能值:vertical, horizontal, both)
18
+ * - follows_cursor: boolean - 是否使元素跟随光标(默认值:false)
19
+ */
20
+ export class Layout {
21
+ /**
22
+ * 设置 UI 元素的大小。
23
+ * @param {any[]} size - 大小,格式为 [width, height](默认值:["default", "default"])
24
+ * @returns {Layout} 返回当前实例以支持链式调用
25
+ */
26
+ setSize(size?: any[]): Layout;
27
+ size: any[] | undefined;
28
+ /**
29
+ * 设置 UI 元素的最大大小。
30
+ * @param {string[]} maxSize - 最大大小,格式为 [width, height](默认值:["default", "default"])
31
+ * @returns {Layout} 返回当前实例以支持链式调用
32
+ */
33
+ setMaxSize(maxSize?: string[]): Layout;
34
+ max_size: string[] | undefined;
35
+ /**
36
+ * 设置 UI 元素的最小大小。
37
+ * @param {string[]} minSize - 最小大小,格式为 [width, height](默认值:["default", "default"])
38
+ * @returns {Layout} 返回当前实例以支持链式调用
39
+ */
40
+ setMinSize(minSize?: string[]): Layout;
41
+ min_size: string[] | undefined;
42
+ /**
43
+ * 设置 UI 元素相对于父元素的位置。
44
+ * @param {number[]} offset - 偏移量,格式为 [x, y](默认值:[0, 0])
45
+ * @returns {Layout} 返回当前实例以支持链式调用
46
+ */
47
+ setOffset(offset?: number[]): Layout;
48
+ offset: number[] | undefined;
49
+ /**
50
+ * 设置父元素中的锚点。
51
+ * @param {string} anchorFrom - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
52
+ * @returns {Layout} 返回当前实例以支持链式调用
53
+ */
54
+ setAnchorFrom(anchorFrom?: string): Layout;
55
+ anchor_from: string | undefined;
56
+ /**
57
+ * 设置元素自身的锚点。
58
+ * @param {string} anchorTo - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
59
+ * @returns {Layout} 返回当前实例以支持链式调用
60
+ */
61
+ setAnchorTo(anchorTo?: string): Layout;
62
+ anchor_to: string | undefined;
63
+ /**
64
+ * 设置是否使用兄弟元素的最大宽度。
65
+ * @param {boolean} inherit - 是否使用兄弟元素的最大宽度(默认值:false)
66
+ * @returns {Layout} 返回当前实例以支持链式调用
67
+ */
68
+ setInheritMaxSiblingWidth(inherit?: boolean): Layout;
69
+ inherit_max_sibling_width: boolean | undefined;
70
+ /**
71
+ * 设置是否使用兄弟元素的最大高度。
72
+ * @param {boolean} inherit - 是否使用兄弟元素的最大高度(默认值:false)
73
+ * @returns {Layout} 返回当前实例以支持链式调用
74
+ */
75
+ setInheritMaxSiblingHeight(inherit?: boolean): Layout;
76
+ inherit_max_sibling_height: boolean | undefined;
77
+ /**
78
+ * 设置是否使用基于锚点的偏移。
79
+ * @param {boolean} use - 是否使用基于锚点的偏移(默认值:false)
80
+ * @returns {Layout} 返回当前实例以支持链式调用
81
+ */
82
+ setUseAnchoredOffset(use?: boolean): Layout;
83
+ use_anchored_offset: boolean | undefined;
84
+ /**
85
+ * 设置是否限制元素在父元素边界内。
86
+ * @param {boolean} contained - 是否限制元素在父元素边界内(默认值:false)
87
+ * @returns {Layout} 返回当前实例以支持链式调用
88
+ */
89
+ setContained(contained?: boolean): Layout;
90
+ contained: boolean | undefined;
91
+ /**
92
+ * 设置是否使元素可拖动。
93
+ * @param {string} draggable - 是否使元素可拖动(可能值:vertical, horizontal, both)
94
+ * @returns {Layout} 返回当前实例以支持链式调用
95
+ */
96
+ setDraggable(draggable: string): Layout;
97
+ draggable: string | undefined;
98
+ /**
99
+ * 设置是否使元素跟随光标。
100
+ * @param {boolean} follows - 是否使元素跟随光标(默认值:false)
101
+ * @returns {Layout} 返回当前实例以支持链式调用
102
+ */
103
+ setFollowsCursor(follows?: boolean): Layout;
104
+ follows_cursor: boolean | undefined;
105
+ }
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Layout 类
3
+ *
4
+ * 该类表示一个具有各种属性和方法的 UI 布局元素,用于操作其布局和大小。
5
+ *
6
+ * 属性:
7
+ * - size: Vector [width, height] - UI 元素的大小(默认值:["default", "default"])
8
+ * - max_size: Vector [width, height] - UI 元素的最大大小(默认值:["default", "default"])
9
+ * - min_size: Vector [width, height] - UI 元素的最小大小(默认值:["default", "default"])
10
+ * - offset: Vector [x, y] - UI 元素相对于父元素的位置(默认值:[0, 0])
11
+ * - anchor_from: enum - 父元素中的锚点(默认值:center)
12
+ * - anchor_to: enum - 元素自身的锚点(默认值:center)
13
+ * - inherit_max_sibling_width: boolean - 是否使用兄弟元素的最大宽度(默认值:false)
14
+ * - inherit_max_sibling_height: boolean - 是否使用兄弟元素的最大高度(默认值:false)
15
+ * - use_anchored_offset: boolean - 是否使用基于锚点的偏移(默认值:false)
16
+ * - contained: boolean - 是否限制元素在父元素边界内(默认值:false)
17
+ * - draggable: enum - 是否使元素可拖动(可能值:vertical, horizontal, both)
18
+ * - follows_cursor: boolean - 是否使元素跟随光标(默认值:false)
19
+ */
20
+ export class Layout {
21
+ constructor() {
22
+ /*
23
+ this.size = ["default", "default"];
24
+ this.max_size = ["default", "default"];
25
+ this.min_size = ["default", "default"];
26
+ this.offset = [0, 0];
27
+ this.anchor_from = "center";
28
+ this.anchor_to = "center";
29
+ this.inherit_max_sibling_width = false;
30
+ this.inherit_max_sibling_height = false;
31
+ this.use_anchored_offset = false;
32
+ this.contained = false;
33
+ this.draggable = null;
34
+ this.follows_cursor = false;
35
+ */
36
+ }
37
+ /**
38
+ * 设置 UI 元素的大小。
39
+ * @param {any[]} size - 大小,格式为 [width, height](默认值:["default", "default"])
40
+ * @returns {Layout} 返回当前实例以支持链式调用
41
+ */
42
+ setSize(size = ["default", "default"]) {
43
+ this.size = size;
44
+ return this;
45
+ }
46
+ /**
47
+ * 设置 UI 元素的最大大小。
48
+ * @param {string[]} maxSize - 最大大小,格式为 [width, height](默认值:["default", "default"])
49
+ * @returns {Layout} 返回当前实例以支持链式调用
50
+ */
51
+ setMaxSize(maxSize = ["default", "default"]) {
52
+ this.max_size = maxSize;
53
+ return this;
54
+ }
55
+ /**
56
+ * 设置 UI 元素的最小大小。
57
+ * @param {string[]} minSize - 最小大小,格式为 [width, height](默认值:["default", "default"])
58
+ * @returns {Layout} 返回当前实例以支持链式调用
59
+ */
60
+ setMinSize(minSize = ["default", "default"]) {
61
+ this.min_size = minSize;
62
+ return this;
63
+ }
64
+ /**
65
+ * 设置 UI 元素相对于父元素的位置。
66
+ * @param {number[]} offset - 偏移量,格式为 [x, y](默认值:[0, 0])
67
+ * @returns {Layout} 返回当前实例以支持链式调用
68
+ */
69
+ setOffset(offset = [0, 0]) {
70
+ this.offset = offset;
71
+ return this;
72
+ }
73
+ /**
74
+ * 设置父元素中的锚点。
75
+ * @param {string} anchorFrom - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
76
+ * @returns {Layout} 返回当前实例以支持链式调用
77
+ */
78
+ setAnchorFrom(anchorFrom = "center") {
79
+ this.anchor_from = anchorFrom;
80
+ return this;
81
+ }
82
+ /**
83
+ * 设置元素自身的锚点。
84
+ * @param {string} anchorTo - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
85
+ * @returns {Layout} 返回当前实例以支持链式调用
86
+ */
87
+ setAnchorTo(anchorTo = "center") {
88
+ this.anchor_to = anchorTo;
89
+ return this;
90
+ }
91
+ /**
92
+ * 设置是否使用兄弟元素的最大宽度。
93
+ * @param {boolean} inherit - 是否使用兄弟元素的最大宽度(默认值:false)
94
+ * @returns {Layout} 返回当前实例以支持链式调用
95
+ */
96
+ setInheritMaxSiblingWidth(inherit = false) {
97
+ this.inherit_max_sibling_width = inherit;
98
+ return this;
99
+ }
100
+ /**
101
+ * 设置是否使用兄弟元素的最大高度。
102
+ * @param {boolean} inherit - 是否使用兄弟元素的最大高度(默认值:false)
103
+ * @returns {Layout} 返回当前实例以支持链式调用
104
+ */
105
+ setInheritMaxSiblingHeight(inherit = false) {
106
+ this.inherit_max_sibling_height = inherit;
107
+ return this;
108
+ }
109
+ /**
110
+ * 设置是否使用基于锚点的偏移。
111
+ * @param {boolean} use - 是否使用基于锚点的偏移(默认值:false)
112
+ * @returns {Layout} 返回当前实例以支持链式调用
113
+ */
114
+ setUseAnchoredOffset(use = false) {
115
+ this.use_anchored_offset = use;
116
+ return this;
117
+ }
118
+ /**
119
+ * 设置是否限制元素在父元素边界内。
120
+ * @param {boolean} contained - 是否限制元素在父元素边界内(默认值:false)
121
+ * @returns {Layout} 返回当前实例以支持链式调用
122
+ */
123
+ setContained(contained = false) {
124
+ this.contained = contained;
125
+ return this;
126
+ }
127
+ /**
128
+ * 设置是否使元素可拖动。
129
+ * @param {string} draggable - 是否使元素可拖动(可能值:vertical, horizontal, both)
130
+ * @returns {Layout} 返回当前实例以支持链式调用
131
+ */
132
+ setDraggable(draggable) {
133
+ this.draggable = draggable;
134
+ return this;
135
+ }
136
+ /**
137
+ * 设置是否使元素跟随光标。
138
+ * @param {boolean} follows - 是否使元素跟随光标(默认值:false)
139
+ * @returns {Layout} 返回当前实例以支持链式调用
140
+ */
141
+ setFollowsCursor(follows = false) {
142
+ this.follows_cursor = follows;
143
+ return this;
144
+ }
145
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * ScrollView 类
3
+ *
4
+ * 该类表示一个滚动视图控件,用于管理滚动行为及其相关属性。
5
+ *
6
+ * 属性:
7
+ * - scrollbar_track_button: string - 滚动条轨道按钮的 ID
8
+ * - scrollbar_touch_button: string - 滚动条触摸按钮的 ID
9
+ * - scroll_speed: number - 滚动速度
10
+ * - gesture_control_enabled: boolean - 是否启用手势控制
11
+ * - always_handle_scrolling: boolean - 是否始终处理滚动
12
+ * - touch_mode: boolean - 是否启用触摸模式
13
+ * - scrollbar_box: string - 滚动条滑块子元素的名称
14
+ * - scrollbar_track: string - 滚动条轨道子元素的名称
15
+ * - scroll_view_port: string - 视口子元素的名称
16
+ * - scroll_content: string - 内容根父元素的名称
17
+ * - scroll_box_and_track_panel: string - 包含滚动条滑块和轨道的子元素名称
18
+ * - jump_to_bottom_on_update: boolean - 是否在更新时跳转到底部
19
+ */
20
+ export class ScrollView {
21
+ /**
22
+ * 设置滚动条轨道按钮的 ID。
23
+ * @param {string} buttonId - 滚动条轨道按钮的 ID
24
+ * @returns {ScrollView} 返回当前实例以支持链式调用
25
+ */
26
+ setScrollbarTrackButton(buttonId: string): ScrollView;
27
+ scrollbar_track_button: string | undefined;
28
+ /**
29
+ * 设置滚动条触摸按钮的 ID。
30
+ * @param {string} buttonId - 滚动条触摸按钮的 ID
31
+ * @returns {ScrollView} 返回当前实例以支持链式调用
32
+ */
33
+ setScrollbarTouchButton(buttonId: string): ScrollView;
34
+ scrollbar_touch_button: string | undefined;
35
+ /**
36
+ * 设置滚动速度。
37
+ * @param {number} speed - 滚动速度
38
+ * @returns {ScrollView} 返回当前实例以支持链式调用
39
+ */
40
+ setScrollSpeed(speed: number): ScrollView;
41
+ scroll_speed: number | undefined;
42
+ /**
43
+ * 设置是否启用手势控制。
44
+ * @param {boolean} enabled - 是否启用手势控制(默认值:false)
45
+ * @returns {ScrollView} 返回当前实例以支持链式调用
46
+ */
47
+ setGestureControlEnabled(enabled?: boolean): ScrollView;
48
+ gesture_control_enabled: boolean | undefined;
49
+ /**
50
+ * 设置是否始终处理滚动。
51
+ * @param {boolean} alwaysHandle - 是否始终处理滚动(默认值:false)
52
+ * @returns {ScrollView} 返回当前实例以支持链式调用
53
+ */
54
+ setAlwaysHandleScrolling(alwaysHandle?: boolean): ScrollView;
55
+ always_handle_scrolling: boolean | undefined;
56
+ /**
57
+ * 设置是否启用触摸模式。
58
+ * @param {boolean} touchMode - 是否启用触摸模式(默认值:false)
59
+ * @returns {ScrollView} 返回当前实例以支持链式调用
60
+ */
61
+ setTouchMode(touchMode?: boolean): ScrollView;
62
+ touch_mode: boolean | undefined;
63
+ /**
64
+ * 设置滚动条滑块子元素的名称。
65
+ * @param {string} boxName - 滚动条滑块子元素的名称
66
+ * @returns {ScrollView} 返回当前实例以支持链式调用
67
+ */
68
+ setScrollbarBox(boxName: string): ScrollView;
69
+ scrollbar_box: string | undefined;
70
+ /**
71
+ * 设置滚动条轨道子元素的名称。
72
+ * @param {string} trackName - 滚动条轨道子元素的名称
73
+ * @returns {ScrollView} 返回当前实例以支持链式调用
74
+ */
75
+ setScrollbarTrack(trackName: string): ScrollView;
76
+ scrollbar_track: string | undefined;
77
+ /**
78
+ * 设置视口子元素的名称。
79
+ * @param {string} viewPortName - 视口子元素的名称
80
+ * @returns {ScrollView} 返回当前实例以支持链式调用
81
+ */
82
+ setScrollViewPort(viewPortName: string): ScrollView;
83
+ scroll_view_port: string | undefined;
84
+ /**
85
+ * 设置内容根父元素的名称。
86
+ * @param {string} contentName - 内容根父元素的名称
87
+ * @returns {ScrollView} 返回当前实例以支持链式调用
88
+ */
89
+ setScrollContent(contentName: string): ScrollView;
90
+ scroll_content: string | undefined;
91
+ /**
92
+ * 设置包含滚动条滑块和轨道的子元素名称。
93
+ * @param {string} panelName - 包含滚动条滑块和轨道的子元素名称
94
+ * @returns {ScrollView} 返回当前实例以支持链式调用
95
+ */
96
+ setScrollBoxAndTrackPanel(panelName: string): ScrollView;
97
+ scroll_box_and_track_panel: string | undefined;
98
+ /**
99
+ * 设置是否在更新时跳转到底部。
100
+ * @param {boolean} jump - 是否在更新时跳转到底部(默认值:false)
101
+ * @returns {ScrollView} 返回当前实例以支持链式调用
102
+ */
103
+ setJumpToBottomOnUpdate(jump?: boolean): ScrollView;
104
+ jump_to_bottom_on_update: boolean | undefined;
105
+ }
@@ -0,0 +1,145 @@
1
+ /**
2
+ * ScrollView 类
3
+ *
4
+ * 该类表示一个滚动视图控件,用于管理滚动行为及其相关属性。
5
+ *
6
+ * 属性:
7
+ * - scrollbar_track_button: string - 滚动条轨道按钮的 ID
8
+ * - scrollbar_touch_button: string - 滚动条触摸按钮的 ID
9
+ * - scroll_speed: number - 滚动速度
10
+ * - gesture_control_enabled: boolean - 是否启用手势控制
11
+ * - always_handle_scrolling: boolean - 是否始终处理滚动
12
+ * - touch_mode: boolean - 是否启用触摸模式
13
+ * - scrollbar_box: string - 滚动条滑块子元素的名称
14
+ * - scrollbar_track: string - 滚动条轨道子元素的名称
15
+ * - scroll_view_port: string - 视口子元素的名称
16
+ * - scroll_content: string - 内容根父元素的名称
17
+ * - scroll_box_and_track_panel: string - 包含滚动条滑块和轨道的子元素名称
18
+ * - jump_to_bottom_on_update: boolean - 是否在更新时跳转到底部
19
+ */
20
+ export class ScrollView {
21
+ constructor() {
22
+ /*
23
+ this.scrollbar_track_button = '';
24
+ this.scrollbar_touch_button = '';
25
+ this.scroll_speed = null;
26
+ this.gesture_control_enabled = false;
27
+ this.always_handle_scrolling = false;
28
+ this.touch_mode = false;
29
+ this.scrollbar_box = '';
30
+ this.scrollbar_track = '';
31
+ this.scroll_view_port = '';
32
+ this.scroll_content = '';
33
+ this.scroll_box_and_track_panel = '';
34
+ this.jump_to_bottom_on_update = false;
35
+ */
36
+ }
37
+ /**
38
+ * 设置滚动条轨道按钮的 ID。
39
+ * @param {string} buttonId - 滚动条轨道按钮的 ID
40
+ * @returns {ScrollView} 返回当前实例以支持链式调用
41
+ */
42
+ setScrollbarTrackButton(buttonId) {
43
+ this.scrollbar_track_button = buttonId;
44
+ return this;
45
+ }
46
+ /**
47
+ * 设置滚动条触摸按钮的 ID。
48
+ * @param {string} buttonId - 滚动条触摸按钮的 ID
49
+ * @returns {ScrollView} 返回当前实例以支持链式调用
50
+ */
51
+ setScrollbarTouchButton(buttonId) {
52
+ this.scrollbar_touch_button = buttonId;
53
+ return this;
54
+ }
55
+ /**
56
+ * 设置滚动速度。
57
+ * @param {number} speed - 滚动速度
58
+ * @returns {ScrollView} 返回当前实例以支持链式调用
59
+ */
60
+ setScrollSpeed(speed) {
61
+ this.scroll_speed = speed;
62
+ return this;
63
+ }
64
+ /**
65
+ * 设置是否启用手势控制。
66
+ * @param {boolean} enabled - 是否启用手势控制(默认值:false)
67
+ * @returns {ScrollView} 返回当前实例以支持链式调用
68
+ */
69
+ setGestureControlEnabled(enabled = false) {
70
+ this.gesture_control_enabled = enabled;
71
+ return this;
72
+ }
73
+ /**
74
+ * 设置是否始终处理滚动。
75
+ * @param {boolean} alwaysHandle - 是否始终处理滚动(默认值:false)
76
+ * @returns {ScrollView} 返回当前实例以支持链式调用
77
+ */
78
+ setAlwaysHandleScrolling(alwaysHandle = false) {
79
+ this.always_handle_scrolling = alwaysHandle;
80
+ return this;
81
+ }
82
+ /**
83
+ * 设置是否启用触摸模式。
84
+ * @param {boolean} touchMode - 是否启用触摸模式(默认值:false)
85
+ * @returns {ScrollView} 返回当前实例以支持链式调用
86
+ */
87
+ setTouchMode(touchMode = false) {
88
+ this.touch_mode = touchMode;
89
+ return this;
90
+ }
91
+ /**
92
+ * 设置滚动条滑块子元素的名称。
93
+ * @param {string} boxName - 滚动条滑块子元素的名称
94
+ * @returns {ScrollView} 返回当前实例以支持链式调用
95
+ */
96
+ setScrollbarBox(boxName) {
97
+ this.scrollbar_box = boxName;
98
+ return this;
99
+ }
100
+ /**
101
+ * 设置滚动条轨道子元素的名称。
102
+ * @param {string} trackName - 滚动条轨道子元素的名称
103
+ * @returns {ScrollView} 返回当前实例以支持链式调用
104
+ */
105
+ setScrollbarTrack(trackName) {
106
+ this.scrollbar_track = trackName;
107
+ return this;
108
+ }
109
+ /**
110
+ * 设置视口子元素的名称。
111
+ * @param {string} viewPortName - 视口子元素的名称
112
+ * @returns {ScrollView} 返回当前实例以支持链式调用
113
+ */
114
+ setScrollViewPort(viewPortName) {
115
+ this.scroll_view_port = viewPortName;
116
+ return this;
117
+ }
118
+ /**
119
+ * 设置内容根父元素的名称。
120
+ * @param {string} contentName - 内容根父元素的名称
121
+ * @returns {ScrollView} 返回当前实例以支持链式调用
122
+ */
123
+ setScrollContent(contentName) {
124
+ this.scroll_content = contentName;
125
+ return this;
126
+ }
127
+ /**
128
+ * 设置包含滚动条滑块和轨道的子元素名称。
129
+ * @param {string} panelName - 包含滚动条滑块和轨道的子元素名称
130
+ * @returns {ScrollView} 返回当前实例以支持链式调用
131
+ */
132
+ setScrollBoxAndTrackPanel(panelName) {
133
+ this.scroll_box_and_track_panel = panelName;
134
+ return this;
135
+ }
136
+ /**
137
+ * 设置是否在更新时跳转到底部。
138
+ * @param {boolean} jump - 是否在更新时跳转到底部(默认值:false)
139
+ * @returns {ScrollView} 返回当前实例以支持链式调用
140
+ */
141
+ setJumpToBottomOnUpdate(jump = false) {
142
+ this.jump_to_bottom_on_update = jump;
143
+ return this;
144
+ }
145
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Sound 类
3
+ *
4
+ * 该类表示一个声音控件,用于管理声音播放及其相关属性。
5
+ *
6
+ * 属性:
7
+ * - sound_name: string - 声音名称(定义在 RP/sounds/sound_definitions.json 文件中)
8
+ * - sound_volume: float - 声音音量(默认值:1.0)
9
+ * - sound_pitch: float - 声音音调(默认值:1.0)
10
+ * - sounds: Array of sound objects - 触发事件时播放的声音数组
11
+ */
12
+ export class Sound {
13
+ /**
14
+ * 设置声音名称。
15
+ * @param {string} name - 声音名称(定义在 RP/sounds/sound_definitions.json 文件中)
16
+ * @returns {Sound} 返回当前实例以支持链式调用
17
+ */
18
+ setSoundName(name: string): Sound;
19
+ sound_name: string | undefined;
20
+ /**
21
+ * 设置声音音量。
22
+ * @param {number} volume - 音量(范围:0.0 到 1.0,默认值:1.0)
23
+ * @returns {Sound} 返回当前实例以支持链式调用
24
+ */
25
+ setSoundVolume(volume?: number): Sound;
26
+ sound_volume: number | undefined;
27
+ /**
28
+ * 设置声音音调。
29
+ * @param {number} pitch - 音调(默认值:1.0)
30
+ * @returns {Sound} 返回当前实例以支持链式调用
31
+ */
32
+ setSoundPitch(pitch?: number): Sound;
33
+ sound_pitch: number | undefined;
34
+ /**
35
+ * 设置触发事件时播放的声音数组。
36
+ * @param {object[]} sounds - 声音对象数组
37
+ * @returns {Sound} 返回当前实例以支持链式调用
38
+ */
39
+ setSounds(sounds: object[]): Sound;
40
+ sounds: object[] | undefined;
41
+ /**
42
+ * 添加一个声音对象到声音数组。
43
+ * @param {object} sound - 声音对象
44
+ * @returns {Sound} 返回当前实例以支持链式调用
45
+ */
46
+ addSound(sound: object): Sound;
47
+ }