sapdon 3.0.1 → 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 (73) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/build.js +3 -1
  3. package/dist/cli/dev-server/client.js +2 -1
  4. package/dist/cli/dev-server/handles.d.ts +4 -0
  5. package/dist/cli/dev-server/handles.js +5 -0
  6. package/dist/cli/dev-server/index.d.ts +3 -2
  7. package/dist/cli/dev-server/index.js +12 -6
  8. package/dist/cli/dev-server/server.d.ts +13 -5
  9. package/dist/cli/dev-server/server.js +51 -42
  10. package/dist/cli/dev-server/syncFiles.js +2 -1
  11. package/dist/cli/index.d.ts +23 -1
  12. package/dist/cli/index.js +1 -1
  13. package/dist/cli/init.d.ts +1 -1
  14. package/dist/cli/load.d.ts +1 -1
  15. package/dist/cli/start.js +1 -155
  16. package/dist/cli/utils.d.ts +1 -1
  17. package/dist/core/addon/block/block.d.ts +2 -2
  18. package/dist/core/addon/controllers/animationController.d.ts +1 -1
  19. package/dist/core/addon/entity/clientEntity.d.ts +11 -11
  20. package/dist/core/addon/entity/entity.d.ts +4 -4
  21. package/dist/core/addon/item/attachable.d.ts +10 -10
  22. package/dist/core/addon/manifest.d.ts +1 -1
  23. package/dist/core/biome/biomeComponent.d.ts +1 -1
  24. package/dist/core/block/basicBlock.d.ts +1 -1
  25. package/dist/core/block/blockComponent.d.ts +4 -4
  26. package/dist/core/block/geometryBlock.d.ts +1 -1
  27. package/dist/core/entity/basicEntity.d.ts +9 -9
  28. package/dist/core/entity/behavior/randomStroll.d.ts +1 -1
  29. package/dist/core/entity/behavior/tempt.d.ts +2 -2
  30. package/dist/core/entity/clientEntity.d.ts +2 -2
  31. package/dist/core/entity/componets/entityComponet.d.ts +4 -4
  32. package/dist/core/entity/data/nativeEntityData.d.ts +2 -2
  33. package/dist/core/entity/navigation/walk.d.ts +19 -19
  34. package/dist/core/factory/entityFactory.d.ts +3 -3
  35. package/dist/core/factory/itemFactory.d.ts +1 -1
  36. package/dist/core/factory/uiFactory.d.ts +2 -1
  37. package/dist/core/factory/uiFactory.js +1 -1
  38. package/dist/core/feature-rule/condition/biomeFilter.d.ts +2 -2
  39. package/dist/core/feature-rule/condition/featureConditions.d.ts +2 -2
  40. package/dist/core/feature-rule/distribution/coordinateDistribution.d.ts +1 -1
  41. package/dist/core/feature-rule/distribution/featureDistribution.d.ts +4 -4
  42. package/dist/core/index.d.ts +2062 -24
  43. package/dist/core/index.js +1 -21
  44. package/dist/core/item/attachable.d.ts +1 -1
  45. package/dist/core/item/item.d.ts +1 -1
  46. package/dist/core/item/itemComponents.d.ts +1 -1
  47. package/dist/core/texture.d.ts +1 -1
  48. package/dist/core/ui/buttonMapping.d.ts +3 -3
  49. package/dist/core/ui/dataBindingObject.d.ts +11 -11
  50. package/dist/core/ui/properties/control.d.ts +23 -23
  51. package/dist/core/ui/properties/dataBinding.d.ts +1 -1
  52. package/dist/core/ui/properties/factory.d.ts +1 -1
  53. package/dist/core/ui/properties/gridProp.d.ts +7 -7
  54. package/dist/core/ui/properties/input.d.ts +11 -11
  55. package/dist/core/ui/properties/layout.d.ts +12 -12
  56. package/dist/core/ui/properties/scrollView.d.ts +12 -12
  57. package/dist/core/ui/properties/sound.d.ts +4 -4
  58. package/dist/core/ui/properties/sprite.d.ts +19 -19
  59. package/dist/core/ui/properties/text.d.ts +15 -15
  60. package/dist/core/ui/systems/chest.d.ts +2 -1
  61. package/dist/core/ui/systems/chest.js +1 -1
  62. package/dist/core/ui/systems/containerUISystem.d.ts +8 -5
  63. package/dist/core/ui/systems/containerUISystem.js +9 -1
  64. package/dist/core/ui/systems/guidebook.d.ts +2 -1
  65. package/dist/core/ui/systems/guidebook.js +1 -1
  66. package/dist/core/ui/systems/serverForm.d.ts +2 -1
  67. package/dist/core/ui/systems/serverForm.js +1 -1
  68. package/dist/core/ui/systems/system.js +2 -2
  69. package/dist/oc/index.d.ts +142 -0
  70. package/dist/oc/index.js +1 -0
  71. package/doc/cli.md +24 -0
  72. package/doc/sapdon-ts.md +51 -5
  73. package/package.json +6 -8
@@ -24,82 +24,82 @@ export class Layout {
24
24
  * @returns {Layout} 返回当前实例以支持链式调用
25
25
  */
26
26
  setSize(size?: any[]): Layout;
27
- size: any[];
27
+ size: any[] | undefined;
28
28
  /**
29
29
  * 设置 UI 元素的最大大小。
30
30
  * @param {string[]} maxSize - 最大大小,格式为 [width, height](默认值:["default", "default"])
31
31
  * @returns {Layout} 返回当前实例以支持链式调用
32
32
  */
33
33
  setMaxSize(maxSize?: string[]): Layout;
34
- max_size: string[];
34
+ max_size: string[] | undefined;
35
35
  /**
36
36
  * 设置 UI 元素的最小大小。
37
37
  * @param {string[]} minSize - 最小大小,格式为 [width, height](默认值:["default", "default"])
38
38
  * @returns {Layout} 返回当前实例以支持链式调用
39
39
  */
40
40
  setMinSize(minSize?: string[]): Layout;
41
- min_size: string[];
41
+ min_size: string[] | undefined;
42
42
  /**
43
43
  * 设置 UI 元素相对于父元素的位置。
44
44
  * @param {number[]} offset - 偏移量,格式为 [x, y](默认值:[0, 0])
45
45
  * @returns {Layout} 返回当前实例以支持链式调用
46
46
  */
47
47
  setOffset(offset?: number[]): Layout;
48
- offset: number[];
48
+ offset: number[] | undefined;
49
49
  /**
50
50
  * 设置父元素中的锚点。
51
51
  * @param {string} anchorFrom - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
52
52
  * @returns {Layout} 返回当前实例以支持链式调用
53
53
  */
54
54
  setAnchorFrom(anchorFrom?: string): Layout;
55
- anchor_from: string;
55
+ anchor_from: string | undefined;
56
56
  /**
57
57
  * 设置元素自身的锚点。
58
58
  * @param {string} anchorTo - 锚点(可能值:top_left, top_middle, top_right, left_middle, center, right_middle, bottom_left, bottom_middle, bottom_right)(默认值:center)
59
59
  * @returns {Layout} 返回当前实例以支持链式调用
60
60
  */
61
61
  setAnchorTo(anchorTo?: string): Layout;
62
- anchor_to: string;
62
+ anchor_to: string | undefined;
63
63
  /**
64
64
  * 设置是否使用兄弟元素的最大宽度。
65
65
  * @param {boolean} inherit - 是否使用兄弟元素的最大宽度(默认值:false)
66
66
  * @returns {Layout} 返回当前实例以支持链式调用
67
67
  */
68
68
  setInheritMaxSiblingWidth(inherit?: boolean): Layout;
69
- inherit_max_sibling_width: boolean;
69
+ inherit_max_sibling_width: boolean | undefined;
70
70
  /**
71
71
  * 设置是否使用兄弟元素的最大高度。
72
72
  * @param {boolean} inherit - 是否使用兄弟元素的最大高度(默认值:false)
73
73
  * @returns {Layout} 返回当前实例以支持链式调用
74
74
  */
75
75
  setInheritMaxSiblingHeight(inherit?: boolean): Layout;
76
- inherit_max_sibling_height: boolean;
76
+ inherit_max_sibling_height: boolean | undefined;
77
77
  /**
78
78
  * 设置是否使用基于锚点的偏移。
79
79
  * @param {boolean} use - 是否使用基于锚点的偏移(默认值:false)
80
80
  * @returns {Layout} 返回当前实例以支持链式调用
81
81
  */
82
82
  setUseAnchoredOffset(use?: boolean): Layout;
83
- use_anchored_offset: boolean;
83
+ use_anchored_offset: boolean | undefined;
84
84
  /**
85
85
  * 设置是否限制元素在父元素边界内。
86
86
  * @param {boolean} contained - 是否限制元素在父元素边界内(默认值:false)
87
87
  * @returns {Layout} 返回当前实例以支持链式调用
88
88
  */
89
89
  setContained(contained?: boolean): Layout;
90
- contained: boolean;
90
+ contained: boolean | undefined;
91
91
  /**
92
92
  * 设置是否使元素可拖动。
93
93
  * @param {string} draggable - 是否使元素可拖动(可能值:vertical, horizontal, both)
94
94
  * @returns {Layout} 返回当前实例以支持链式调用
95
95
  */
96
96
  setDraggable(draggable: string): Layout;
97
- draggable: string;
97
+ draggable: string | undefined;
98
98
  /**
99
99
  * 设置是否使元素跟随光标。
100
100
  * @param {boolean} follows - 是否使元素跟随光标(默认值:false)
101
101
  * @returns {Layout} 返回当前实例以支持链式调用
102
102
  */
103
103
  setFollowsCursor(follows?: boolean): Layout;
104
- follows_cursor: boolean;
104
+ follows_cursor: boolean | undefined;
105
105
  }
@@ -24,82 +24,82 @@ export class ScrollView {
24
24
  * @returns {ScrollView} 返回当前实例以支持链式调用
25
25
  */
26
26
  setScrollbarTrackButton(buttonId: string): ScrollView;
27
- scrollbar_track_button: string;
27
+ scrollbar_track_button: string | undefined;
28
28
  /**
29
29
  * 设置滚动条触摸按钮的 ID。
30
30
  * @param {string} buttonId - 滚动条触摸按钮的 ID
31
31
  * @returns {ScrollView} 返回当前实例以支持链式调用
32
32
  */
33
33
  setScrollbarTouchButton(buttonId: string): ScrollView;
34
- scrollbar_touch_button: string;
34
+ scrollbar_touch_button: string | undefined;
35
35
  /**
36
36
  * 设置滚动速度。
37
37
  * @param {number} speed - 滚动速度
38
38
  * @returns {ScrollView} 返回当前实例以支持链式调用
39
39
  */
40
40
  setScrollSpeed(speed: number): ScrollView;
41
- scroll_speed: number;
41
+ scroll_speed: number | undefined;
42
42
  /**
43
43
  * 设置是否启用手势控制。
44
44
  * @param {boolean} enabled - 是否启用手势控制(默认值:false)
45
45
  * @returns {ScrollView} 返回当前实例以支持链式调用
46
46
  */
47
47
  setGestureControlEnabled(enabled?: boolean): ScrollView;
48
- gesture_control_enabled: boolean;
48
+ gesture_control_enabled: boolean | undefined;
49
49
  /**
50
50
  * 设置是否始终处理滚动。
51
51
  * @param {boolean} alwaysHandle - 是否始终处理滚动(默认值:false)
52
52
  * @returns {ScrollView} 返回当前实例以支持链式调用
53
53
  */
54
54
  setAlwaysHandleScrolling(alwaysHandle?: boolean): ScrollView;
55
- always_handle_scrolling: boolean;
55
+ always_handle_scrolling: boolean | undefined;
56
56
  /**
57
57
  * 设置是否启用触摸模式。
58
58
  * @param {boolean} touchMode - 是否启用触摸模式(默认值:false)
59
59
  * @returns {ScrollView} 返回当前实例以支持链式调用
60
60
  */
61
61
  setTouchMode(touchMode?: boolean): ScrollView;
62
- touch_mode: boolean;
62
+ touch_mode: boolean | undefined;
63
63
  /**
64
64
  * 设置滚动条滑块子元素的名称。
65
65
  * @param {string} boxName - 滚动条滑块子元素的名称
66
66
  * @returns {ScrollView} 返回当前实例以支持链式调用
67
67
  */
68
68
  setScrollbarBox(boxName: string): ScrollView;
69
- scrollbar_box: string;
69
+ scrollbar_box: string | undefined;
70
70
  /**
71
71
  * 设置滚动条轨道子元素的名称。
72
72
  * @param {string} trackName - 滚动条轨道子元素的名称
73
73
  * @returns {ScrollView} 返回当前实例以支持链式调用
74
74
  */
75
75
  setScrollbarTrack(trackName: string): ScrollView;
76
- scrollbar_track: string;
76
+ scrollbar_track: string | undefined;
77
77
  /**
78
78
  * 设置视口子元素的名称。
79
79
  * @param {string} viewPortName - 视口子元素的名称
80
80
  * @returns {ScrollView} 返回当前实例以支持链式调用
81
81
  */
82
82
  setScrollViewPort(viewPortName: string): ScrollView;
83
- scroll_view_port: string;
83
+ scroll_view_port: string | undefined;
84
84
  /**
85
85
  * 设置内容根父元素的名称。
86
86
  * @param {string} contentName - 内容根父元素的名称
87
87
  * @returns {ScrollView} 返回当前实例以支持链式调用
88
88
  */
89
89
  setScrollContent(contentName: string): ScrollView;
90
- scroll_content: string;
90
+ scroll_content: string | undefined;
91
91
  /**
92
92
  * 设置包含滚动条滑块和轨道的子元素名称。
93
93
  * @param {string} panelName - 包含滚动条滑块和轨道的子元素名称
94
94
  * @returns {ScrollView} 返回当前实例以支持链式调用
95
95
  */
96
96
  setScrollBoxAndTrackPanel(panelName: string): ScrollView;
97
- scroll_box_and_track_panel: string;
97
+ scroll_box_and_track_panel: string | undefined;
98
98
  /**
99
99
  * 设置是否在更新时跳转到底部。
100
100
  * @param {boolean} jump - 是否在更新时跳转到底部(默认值:false)
101
101
  * @returns {ScrollView} 返回当前实例以支持链式调用
102
102
  */
103
103
  setJumpToBottomOnUpdate(jump?: boolean): ScrollView;
104
- jump_to_bottom_on_update: boolean;
104
+ jump_to_bottom_on_update: boolean | undefined;
105
105
  }
@@ -16,28 +16,28 @@ export class Sound {
16
16
  * @returns {Sound} 返回当前实例以支持链式调用
17
17
  */
18
18
  setSoundName(name: string): Sound;
19
- sound_name: string;
19
+ sound_name: string | undefined;
20
20
  /**
21
21
  * 设置声音音量。
22
22
  * @param {number} volume - 音量(范围:0.0 到 1.0,默认值:1.0)
23
23
  * @returns {Sound} 返回当前实例以支持链式调用
24
24
  */
25
25
  setSoundVolume(volume?: number): Sound;
26
- sound_volume: number;
26
+ sound_volume: number | undefined;
27
27
  /**
28
28
  * 设置声音音调。
29
29
  * @param {number} pitch - 音调(默认值:1.0)
30
30
  * @returns {Sound} 返回当前实例以支持链式调用
31
31
  */
32
32
  setSoundPitch(pitch?: number): Sound;
33
- sound_pitch: number;
33
+ sound_pitch: number | undefined;
34
34
  /**
35
35
  * 设置触发事件时播放的声音数组。
36
36
  * @param {object[]} sounds - 声音对象数组
37
37
  * @returns {Sound} 返回当前实例以支持链式调用
38
38
  */
39
39
  setSounds(sounds: object[]): Sound;
40
- sounds: any[];
40
+ sounds: object[] | undefined;
41
41
  /**
42
42
  * 添加一个声音对象到声音数组。
43
43
  * @param {object} sound - 声音对象
@@ -31,131 +31,131 @@ export class Sprite {
31
31
  * @returns {Sprite} 返回当前实例以支持链式调用
32
32
  */
33
33
  setTexture(texture: string): Sprite;
34
- texture: string;
34
+ texture: string | undefined;
35
35
  /**
36
36
  * 设置是否在纹理未找到时显示缺失纹理。
37
37
  * @param {boolean} allow - 是否显示缺失纹理(默认值:true)
38
38
  * @returns {Sprite} 返回当前实例以支持链式调用
39
39
  */
40
40
  setAllowDebugMissingTexture(allow?: boolean): Sprite;
41
- allow_debug_missing_texture: boolean;
41
+ allow_debug_missing_texture: boolean | undefined;
42
42
  /**
43
43
  * 设置纹理映射的起始位置。
44
44
  * @param {number[]} uv - 起始位置,格式为 [u, v]
45
45
  * @returns {Sprite} 返回当前实例以支持链式调用
46
46
  */
47
47
  setUV(uv: number[]): Sprite;
48
- uv: number[];
48
+ uv: number[] | undefined;
49
49
  /**
50
50
  * 设置纹理映射的大小。
51
51
  * @param {number[]} uvSize - 大小,格式为 [width, height]
52
52
  * @returns {Sprite} 返回当前实例以支持链式调用
53
53
  */
54
54
  setUVSize(uvSize: number[]): Sprite;
55
- uv_size: number[];
55
+ uv_size: number[] | undefined;
56
56
  /**
57
57
  * 设置纹理来源。
58
58
  * @param {string} source - 纹理来源(可能值:InUserPackage, InAppPackage, RawPath, RawPersistent, InSettingsDir, InExternalDir, InServerPackage, InDataDir, InUserDir, InWorldDir, StoreCache, Usage is Unknown)
59
59
  * @returns {Sprite} 返回当前实例以支持链式调用
60
60
  */
61
61
  setTextureFileSystem(source?: string): Sprite;
62
- texture_file_system: string;
62
+ texture_file_system: string | undefined;
63
63
  /**
64
64
  * 设置 9-slice 分割大小。
65
65
  * @param {number|number[]} size - 9-slice 分割大小(可以是单个数字或 [x0, y0, x1, y1] 数组)
66
66
  * @returns {Sprite} 返回当前实例以支持链式调用
67
67
  */
68
68
  setNineSliceSize(size: number | number[]): Sprite;
69
- nineslice_size: number | number[];
69
+ nineslice_size: number | number[] | undefined;
70
70
  /**
71
71
  * 设置是否平铺纹理。
72
72
  * @param {boolean|string} tiled - 是否平铺纹理(可能值:true/false, x, y)
73
73
  * @returns {Sprite} 返回当前实例以支持链式调用
74
74
  */
75
75
  setTiled(tiled: boolean | string): Sprite;
76
- tiled: string | boolean;
76
+ tiled: string | boolean | undefined;
77
77
  /**
78
78
  * 设置平铺纹理的缩放比例。
79
79
  * @param {number[]} scale - 缩放比例,格式为 [sX, sY](默认值:[1, 1])
80
80
  * @returns {Sprite} 返回当前实例以支持链式调用
81
81
  */
82
82
  setTiledScale(scale?: number[]): Sprite;
83
- tiled_scale: number[];
83
+ tiled_scale: number[] | undefined;
84
84
  /**
85
85
  * 设置裁剪方向的起始点。
86
86
  * @param {string} direction - 裁剪方向(可能值:left, right, up, down, center)
87
87
  * @returns {Sprite} 返回当前实例以支持链式调用
88
88
  */
89
89
  setClipDirection(direction: string): Sprite;
90
- clip_direction: string;
90
+ clip_direction: string | undefined;
91
91
  /**
92
92
  * 设置裁剪比例。
93
93
  * @param {number} ratio - 裁剪比例(范围:0.0 到 1.0)
94
94
  * @returns {Sprite} 返回当前实例以支持链式调用
95
95
  */
96
96
  setClipRatio(ratio: number): Sprite;
97
- clip_ratio: number;
97
+ clip_ratio: number | undefined;
98
98
  /**
99
99
  * 设置是否尽可能保持像素精确裁剪。
100
100
  * @param {boolean} pixelPerfect - 是否保持像素精确裁剪
101
101
  * @returns {Sprite} 返回当前实例以支持链式调用
102
102
  */
103
103
  setClipPixelPerfect(pixelPerfect?: boolean): Sprite;
104
- clip_pixelperfect: boolean;
104
+ clip_pixelperfect: boolean | undefined;
105
105
  /**
106
106
  * 设置是否在调整大小时保持比例。
107
107
  * @param {boolean} keep - 是否保持比例(默认值:true)
108
108
  * @returns {Sprite} 返回当前实例以支持链式调用
109
109
  */
110
110
  setKeepRatio(keep?: boolean): Sprite;
111
- keep_ratio: boolean;
111
+ keep_ratio: boolean | undefined;
112
112
  /**
113
113
  * 设置是否在调整大小时使用双线性函数。
114
114
  * @param {boolean} bilinear - 是否使用双线性函数(默认值:false)
115
115
  * @returns {Sprite} 返回当前实例以支持链式调用
116
116
  */
117
117
  setBilinear(bilinear?: boolean): Sprite;
118
- bilinear: boolean;
118
+ bilinear: boolean | undefined;
119
119
  /**
120
120
  * 设置是否拉伸图像以适应大小。
121
121
  * @param {boolean} fill - 是否拉伸图像(默认值:false)
122
122
  * @returns {Sprite} 返回当前实例以支持链式调用
123
123
  */
124
124
  setFill(fill?: boolean): Sprite;
125
- fill: boolean;
125
+ fill: boolean | undefined;
126
126
  /**
127
127
  * 设置是否适应宽度。
128
128
  * @param {boolean} fit - 是否适应宽度
129
129
  * @returns {Sprite} 返回当前实例以支持链式调用
130
130
  */
131
131
  setFitToWidth(fit?: boolean): Sprite;
132
- $fit_to_width: boolean;
132
+ $fit_to_width: boolean | undefined;
133
133
  /**
134
134
  * 设置压缩文件夹路径。
135
135
  * @param {string} folder - 压缩文件夹路径
136
136
  * @returns {Sprite} 返回当前实例以支持链式调用
137
137
  */
138
138
  setZipFolder(folder: string): Sprite;
139
- zip_folder: string;
139
+ zip_folder: string | undefined;
140
140
  /**
141
141
  * 设置是否以黑白渲染图像。
142
142
  * @param {boolean} grayscale - 是否以黑白渲染图像(默认值:false)
143
143
  * @returns {Sprite} 返回当前实例以支持链式调用
144
144
  */
145
145
  setGrayscale(grayscale?: boolean): Sprite;
146
- grayscale: boolean;
146
+ grayscale: boolean | undefined;
147
147
  /**
148
148
  * 设置是否在纹理路径更改时强制重新加载图像。
149
149
  * @param {boolean} force - 是否强制重新加载图像
150
150
  * @returns {Sprite} 返回当前实例以支持链式调用
151
151
  */
152
152
  setForceTextureReload(force?: boolean): Sprite;
153
- force_texture_reload: boolean;
153
+ force_texture_reload: boolean | undefined;
154
154
  /**
155
155
  * 设置基础大小。
156
156
  * @param {number[]} size - 基础大小,格式为 [width, height]
157
157
  * @returns {Sprite} 返回当前实例以支持链式调用
158
158
  */
159
159
  setBaseSize(size: number[]): Sprite;
160
- base_size: number[];
160
+ base_size: number[] | undefined;
161
161
  }
@@ -27,42 +27,42 @@ export class Text {
27
27
  * @returns {Text} 返回当前实例以支持链式调用
28
28
  */
29
29
  setText(text?: string): Text;
30
- text: string;
30
+ text: string | undefined;
31
31
  /**
32
32
  * 设置文本颜色。
33
33
  * @param {number[]} color - RGB 颜色值(格式:[r, g, b],默认值:[1.0, 1.0, 1.0])
34
34
  * @returns {Text} 返回当前实例以支持链式调用
35
35
  */
36
36
  setColor(color?: number[]): Text;
37
- color: number[];
37
+ color: number[] | undefined;
38
38
  /**
39
39
  * 设置父级禁用时的文本颜色。
40
40
  * @param {number[]} lockedColor - RGB 颜色值(格式:[r, g, b])
41
41
  * @returns {Text} 返回当前实例以支持链式调用
42
42
  */
43
43
  setLockedColor(lockedColor: number[]): Text;
44
- locked_color: number[];
44
+ locked_color: number[] | undefined;
45
45
  /**
46
46
  * 设置是否显示文本阴影。
47
47
  * @param {boolean} shadow - 是否显示阴影(默认值:false)
48
48
  * @returns {Text} 返回当前实例以支持链式调用
49
49
  */
50
50
  setShadow(shadow?: boolean): Text;
51
- shadow: boolean;
51
+ shadow: boolean | undefined;
52
52
  /**
53
53
  * 设置是否隐藏断词连字符。
54
54
  * @param {boolean} hide - 是否隐藏连字符(默认值:false)
55
55
  * @returns {Text} 返回当前实例以支持链式调用
56
56
  */
57
57
  setHideHyphen(hide?: boolean): Text;
58
- hide_hyphen: boolean;
58
+ hide_hyphen: boolean | undefined;
59
59
  /**
60
60
  * 设置文本出现省略号时需通知的控件名称数组。
61
61
  * @param {string[]} controls - 控件名称数组
62
62
  * @returns {Text} 返回当前实例以支持链式调用
63
63
  */
64
64
  setNotifyOnEllipses(controls: string[]): Text;
65
- notify_on_ellipses: string[];
65
+ notify_on_ellipses: string[] | undefined;
66
66
  /**
67
67
  * 添加一个需通知省略号事件的控件名称。
68
68
  * @param {string} controlName - 控件名称
@@ -75,61 +75,61 @@ export class Text {
75
75
  * @returns {Text} 返回当前实例以支持链式调用
76
76
  */
77
77
  setEnableProfanityFilter(enable?: boolean): Text;
78
- enable_profanity_filter: boolean;
78
+ enable_profanity_filter: boolean | undefined;
79
79
  /**
80
80
  * 设置父级禁用时的透明度。
81
81
  * @param {number} alpha - 透明度(范围:0.0 到 1.0)
82
82
  * @returns {Text} 返回当前实例以支持链式调用
83
83
  */
84
84
  setLockedAlpha(alpha: number): Text;
85
- locked_alpha: number;
85
+ locked_alpha: number | undefined;
86
86
  /**
87
87
  * 设置字体大小。
88
88
  * @param {string} size - 字体大小(可能值:small, normal, large, extra_large,默认值:normal)
89
89
  * @returns {Text} 返回当前实例以支持链式调用
90
90
  */
91
91
  setFontSize(size?: string): Text;
92
- font_size: string;
92
+ font_size: string | undefined;
93
93
  /**
94
94
  * 设置字体缩放比例。
95
95
  * @param {number} factor - 缩放比例(默认值:1.0)
96
96
  * @returns {Text} 返回当前实例以支持链式调用
97
97
  */
98
98
  setFontScaleFactor(factor?: number): Text;
99
- font_scale_factor: number;
99
+ font_scale_factor: number | undefined;
100
100
  /**
101
101
  * 设置是否启用本地化翻译。
102
102
  * @param {boolean} localize - 是否启用本地化(默认值:false)
103
103
  * @returns {Text} 返回当前实例以支持链式调用
104
104
  */
105
105
  setLocalize(localize?: boolean): Text;
106
- localize: boolean;
106
+ localize: boolean | undefined;
107
107
  /**
108
108
  * 设置行间距。
109
109
  * @param {number} padding - 行间距
110
110
  * @returns {Text} 返回当前实例以支持链式调用
111
111
  */
112
112
  setLinePadding(padding: number): Text;
113
- line_padding: number;
113
+ line_padding: number | undefined;
114
114
  /**
115
115
  * 设置字体类型。
116
116
  * @param {string} font - 字体类型(可能值:default, rune, unicode 等,默认值:default)
117
117
  * @returns {Text} 返回当前实例以支持链式调用
118
118
  */
119
119
  setFontType(font?: string): Text;
120
- font_type: string;
120
+ font_type: string | undefined;
121
121
  /**
122
122
  * 设置备用字体类型。
123
123
  * @param {string} backupFont - 备用字体类型(默认值:default)
124
124
  * @returns {Text} 返回当前实例以支持链式调用
125
125
  */
126
126
  setBackupFontType(backupFont?: string): Text;
127
- backup_font_type: string;
127
+ backup_font_type: string | undefined;
128
128
  /**
129
129
  * 设置文本对齐方式。
130
130
  * @param {string} alignment - 对齐方式(例如:left, right, center)
131
131
  * @returns {Text} 返回当前实例以支持链式调用
132
132
  */
133
133
  setTextAlignment(alignment: string): Text;
134
- text_alignment: string;
134
+ text_alignment: string | undefined;
135
135
  }
@@ -1,4 +1,5 @@
1
1
  export class ChestUISystem {
2
- static chest_screen: any;
2
+ static chest_screen: UISystem;
3
3
  static registerContainerUI(new_container_title: any, ui_system_root_panel: any): void;
4
4
  }
5
+ import { UISystem } from "./system.js";
@@ -1,5 +1,5 @@
1
1
  import { Modifications, UIElement } from "../elements/uiElement.js";
2
- import { UISystem } from "./UISystem.js";
2
+ import { UISystem } from "./system.js";
3
3
  const small_chest_screen = new UIElement("small_chest_screen", undefined, "common.inventory_screen_common");
4
4
  small_chest_screen.addVariable("new_container_title|default", "$container_title");
5
5
  export class ChestUISystem {
@@ -9,12 +9,14 @@ export class ContainerUISystem {
9
9
  * @param {string} path - 资源路径。
10
10
  */
11
11
  constructor(identifier: string, path: string);
12
- system: any;
12
+ system: UISystem;
13
13
  title: string;
14
14
  root_panel_size: number[];
15
15
  gridDimension: number[];
16
+ output_grids: any[];
16
17
  main_panel: Panel;
17
18
  grids: Grid;
19
+ setInputGrid(output_arr: any): void;
18
20
  /**
19
21
  * 向网格中添加一个网格项。
20
22
  * @param {number[]} grid_position - 网格项的位置 [行, 列] 用于定位实体的背包槽。
@@ -26,9 +28,9 @@ export class ContainerUISystem {
26
28
  * @returns {ContainerUISystem} 返回当前实例以支持链式调用。
27
29
  */
28
30
  addGridItem(grid_position: number[], offset: number[], options?: {
29
- enable?: boolean;
30
- size?: number[];
31
- background_images?: UIElement[];
31
+ enable?: boolean | undefined;
32
+ size?: number[] | undefined;
33
+ background_images?: UIElement[] | undefined;
32
34
  }): ContainerUISystem;
33
35
  addInputGrid(grid_position: any, offset: any, options: any): void;
34
36
  addOutputGrid(grid_position: any, offset: any, options: any): void;
@@ -37,7 +39,7 @@ export class ContainerUISystem {
37
39
  * @param {Object} element - 要添加的 UI 元素。
38
40
  * @returns {ContainerUISystem} 返回当前实例以支持链式调用。
39
41
  */
40
- addElementToMain(element: any): ContainerUISystem;
42
+ addElementToMain(element: Object): ContainerUISystem;
41
43
  /**
42
44
  * 设置网格的维度(行和列)。
43
45
  * @param {number[]} dimension - 网格的维度 [行数, 列数]。
@@ -59,6 +61,7 @@ export class ContainerUISystem {
59
61
  setItemMatrix(n: any, matrix: any): void;
60
62
  #private;
61
63
  }
64
+ import { UISystem } from "./system.js";
62
65
  import { Panel } from "../elements/panel.js";
63
66
  import { Grid } from "../elements/grid.js";
64
67
  import { UIElement } from "../elements/uiElement.js";
@@ -8,7 +8,7 @@ import { GridProp } from "../properties/gridProp.js";
8
8
  import { Layout } from "../properties/layout.js";
9
9
  import { Text } from "../properties/text.js";
10
10
  import { ChestUISystem } from "./chest.js";
11
- import { UISystem } from "./UISystem.js";
11
+ import { UISystem } from "./system.js";
12
12
  /**
13
13
  * 自定义容器 UI 系统类,用于创建和管理容器界面。
14
14
  * 支持动态添加网格项、设置标题、调整尺寸等功能。
@@ -26,12 +26,16 @@ export class ContainerUISystem {
26
26
  this.title = "自定义容器";
27
27
  this.root_panel_size = [200, 200];
28
28
  this.gridDimension = [3, 1];
29
+ this.output_grids = []; // 记录输出槽
29
30
  this.main_panel = new Panel("main_panel");
30
31
  this.grids = new Grid("grids");
31
32
  // 初始化
32
33
  this.#register();
33
34
  this.#updateSystem();
34
35
  }
36
+ setInputGrid(output_arr) {
37
+ this.output_grids = output_arr;
38
+ }
35
39
  /**
36
40
  * 向网格中添加一个网格项。
37
41
  * @param {number[]} grid_position - 网格项的位置 [行, 列] 用于定位实体的背包槽。
@@ -123,6 +127,10 @@ export class ContainerUISystem {
123
127
  });
124
128
  });
125
129
  offset_marix.forEach((v, i) => {
130
+ if (this.output_grids.indexOf(v)) {
131
+ this.addOutputGrid([0, i], v);
132
+ return;
133
+ }
126
134
  this.addGridItem([0, i], v);
127
135
  });
128
136
  }
@@ -1,8 +1,9 @@
1
1
  export class Guidebook {
2
2
  constructor(identifier: any, path: any);
3
- system: any;
3
+ system: UISystem;
4
4
  addPageBinding(page_name: any, left_control_name: any, right_control_name: any): this;
5
5
  addPage(page_name: any, left_control: any, right_control: any): this;
6
6
  addElement(element: any): this;
7
7
  #private;
8
8
  }
9
+ import { UISystem } from "./system.js";
@@ -12,7 +12,7 @@ import { Layout } from "../properties/layout.js";
12
12
  import { Sprite } from "../properties/sprite.js";
13
13
  import { Text } from "../properties/text.js";
14
14
  import { ServerUISystem } from "./serverForm.js";
15
- import { UISystem } from "./UISystem.js";
15
+ import { UISystem } from "./system.js";
16
16
  //表单按钮模板
17
17
  const form_button_template = new Button("form_button_template", "common.button");
18
18
  form_button_template.addVariable("default_texture|default", "");
@@ -1,4 +1,4 @@
1
- export const ServerFormSystem: any;
1
+ export const ServerFormSystem: UISystem;
2
2
  export const form_button_panel: Panel;
3
3
  export class ServerUISystem {
4
4
  static "__#4@#binding_map": Map<any, any>;
@@ -9,4 +9,5 @@ export class ServerUISystem {
9
9
  static bindingTitlewithContent(title_name: any, content: any): void;
10
10
  static "__#4@#updateServerFormSystem"(): void;
11
11
  }
12
+ import { UISystem } from "./system.js";
12
13
  import { Panel } from "../elements/panel.js";
@@ -1,6 +1,6 @@
1
1
  import { Modifications, UIElement } from "../elements/uiElement.js";
2
2
  import { DataBindingObject } from "../dataBindingObject.js";
3
- import { UISystem } from "./UISystem.js";
3
+ import { UISystem } from "./system.js";
4
4
  import { Panel } from "../elements/panel.js";
5
5
  import { Button } from "../elements/button.js";
6
6
  import { Image } from "../elements/image.js";
@@ -28,10 +28,10 @@ export class UISystem {
28
28
  //序列化
29
29
  this.elements.forEach((value, key) => {
30
30
  //console.log("elements key:",key)
31
- console.log("elements value:", value);
31
+ //console.log("elements value:",value);
32
32
  ui[key] = value.serialize()[value.id];
33
33
  });
34
- console.log("ui:", ui);
34
+ //console.log("ui:",ui)
35
35
  return ui;
36
36
  }
37
37
  }