@nativewrappers/fivem 0.0.65 → 0.0.73

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 (243) hide show
  1. package/Audio.d.ts +2 -2
  2. package/Blip.d.ts +2 -2
  3. package/Camera.d.ts +1 -1
  4. package/Game.d.ts +1 -1
  5. package/GameplayCamera.d.ts +1 -1
  6. package/Model.d.ts +1 -1
  7. package/ParticleEffect.d.ts +2 -2
  8. package/ParticleEffectAsset.d.ts +1 -1
  9. package/README.md +45 -0
  10. package/Raycast.d.ts +2 -2
  11. package/RelationshipGroup.d.ts +1 -1
  12. package/Tasks.d.ts +3 -3
  13. package/World.d.ts +5 -13
  14. package/cfx/StateBagChangeHandler.d.ts +1 -3
  15. package/common/Command.d.ts +30 -0
  16. package/common/Convar.d.ts +13 -0
  17. package/common/GlobalData.d.ts +8 -0
  18. package/common/Kvp.d.ts +69 -0
  19. package/common/Resource.d.ts +14 -0
  20. package/common/decors/Events.d.ts +54 -0
  21. package/common/index.d.ts +8 -0
  22. package/common/net/NetworkedMap.d.ts +28 -0
  23. package/common/types.d.ts +5 -0
  24. package/common/utils/ClassTypes.d.ts +11 -0
  25. package/common/utils/Color.d.ts +14 -0
  26. package/common/utils/Maths.d.ts +4 -0
  27. package/common/utils/PointF.d.ts +7 -0
  28. package/common/utils/Quaternion.d.ts +10 -0
  29. package/common/utils/Vector.d.ts +429 -0
  30. package/common/utils/Vector2.d.ts +1 -0
  31. package/common/utils/Vector3.d.ts +1 -0
  32. package/common/utils/Vector4.d.ts +1 -0
  33. package/common/utils/cleanPlayerName.d.ts +6 -0
  34. package/common/utils/enumValues.d.ts +12 -0
  35. package/{utils/getStringFromUInt8Array.js → common/utils/getStringFromUInt8Array.d.ts} +1 -3
  36. package/{utils/getUInt32FromUint8Array.js → common/utils/getUInt32FromUint8Array.d.ts} +1 -1
  37. package/common/utils/index.d.ts +12 -0
  38. package/index.d.ts +1 -1
  39. package/index.js +18794 -26
  40. package/interfaces/Dimensions.d.ts +1 -1
  41. package/models/BaseEntity.d.ts +3 -3
  42. package/models/Ped.d.ts +4 -15
  43. package/models/PedBone.d.ts +1 -1
  44. package/models/PedBoneCollection.d.ts +1 -1
  45. package/models/Player.d.ts +1 -1
  46. package/models/Vehicle.d.ts +2 -2
  47. package/models/VehicleDoor.d.ts +2 -2
  48. package/models/VehicleDoorCollection.d.ts +1 -1
  49. package/models/VehicleMod.d.ts +2 -2
  50. package/models/VehicleModCollection.d.ts +2 -2
  51. package/models/VehicleToggleMod.d.ts +2 -2
  52. package/models/VehicleWheel.d.ts +1 -1
  53. package/models/VehicleWheelCollection.d.ts +1 -1
  54. package/models/VehicleWindow.d.ts +2 -2
  55. package/models/VehicleWindowCollection.d.ts +1 -1
  56. package/package.json +6 -4
  57. package/ui/Container.d.ts +2 -2
  58. package/ui/Effects.d.ts +1 -1
  59. package/ui/Hud.d.ts +2 -2
  60. package/ui/InstructionalButtons.d.ts +1 -1
  61. package/ui/Rectangle.d.ts +2 -2
  62. package/ui/Scaleform.d.ts +1 -1
  63. package/ui/Screen.d.ts +1 -1
  64. package/ui/Text.d.ts +1 -1
  65. package/ui/interfaces/IButton.d.ts +1 -1
  66. package/ui/interfaces/IDrawable.d.ts +1 -1
  67. package/ui/menu/items/UIMenuItem.d.ts +1 -1
  68. package/ui/menu/items/UIMenuListItem.d.ts +1 -1
  69. package/ui/menu/items/panels/AbstractUIMenuPanel.d.ts +2 -2
  70. package/ui/menu/items/panels/UIMenuStatisticsPanel.d.ts +1 -1
  71. package/utils/LiteEvent.d.ts +2 -8
  72. package/utils/PointF.d.ts +0 -5
  73. package/utils/String.d.ts +1 -1
  74. package/utils/index.d.ts +2 -2
  75. package/weapon/DlcWeaponData.d.ts +1 -1
  76. package/weapon/Weapon.d.ts +7 -7
  77. package/weapon/WeaponAsset.d.ts +1 -1
  78. package/weapon/WeaponCollection.d.ts +2 -2
  79. package/weaponComponent/DlcWeaponComponentData.d.ts +1 -1
  80. package/weaponComponent/InvalidWeaponComponent.d.ts +1 -1
  81. package/weaponComponent/WeaponComponent.d.ts +3 -3
  82. package/weaponComponent/WeaponComponentCollection.d.ts +3 -3
  83. package/Audio.js +0 -93
  84. package/Blip.js +0 -105
  85. package/Camera.js +0 -162
  86. package/Checkpoint.js +0 -43
  87. package/Events.js +0 -74
  88. package/Game.js +0 -474
  89. package/GameplayCamera.js +0 -141
  90. package/Model.js +0 -213
  91. package/NetworkedScene.js +0 -18
  92. package/ParticleEffect.js +0 -123
  93. package/ParticleEffectAsset.js +0 -105
  94. package/Pickup.js +0 -19
  95. package/Raycast.js +0 -123
  96. package/RelationshipGroup.js +0 -67
  97. package/Rope.js +0 -129
  98. package/TaskSequence.js +0 -48
  99. package/Tasks.js +0 -241
  100. package/World.js +0 -765
  101. package/cfx/StateBagChangeHandler.js +0 -1
  102. package/cfx/index.js +0 -1
  103. package/enums/Alignment.js +0 -6
  104. package/enums/AnimationFlags.js +0 -35
  105. package/enums/AudioFlag.js +0 -38
  106. package/enums/BadgeStyle.js +0 -183
  107. package/enums/Blip.js +0 -225
  108. package/enums/Bone.js +0 -103
  109. package/enums/CameraShake.js +0 -14
  110. package/enums/CameraTypes.js +0 -8
  111. package/enums/CheckboxStyle.js +0 -5
  112. package/enums/Checkpoint.js +0 -67
  113. package/enums/CloudHat.js +0 -27
  114. package/enums/Control.js +0 -361
  115. package/enums/CursorSprite.js +0 -15
  116. package/enums/Driving.js +0 -34
  117. package/enums/ExplosionType.js +0 -45
  118. package/enums/FiringPattern.js +0 -20
  119. package/enums/Font.js +0 -8
  120. package/enums/ForceType.js +0 -9
  121. package/enums/Gender.js +0 -5
  122. package/enums/HelmetType.js +0 -6
  123. package/enums/HudColor.js +0 -184
  124. package/enums/HudComponent.js +0 -54
  125. package/enums/InputMode.js +0 -5
  126. package/enums/InvertAxis.js +0 -7
  127. package/enums/Language.js +0 -15
  128. package/enums/LeaveVehicleFlags.js +0 -11
  129. package/enums/LoadingSpinnerType.js +0 -8
  130. package/enums/MarkerType.js +0 -50
  131. package/enums/MenuAlignment.js +0 -5
  132. package/enums/NotificationType.js +0 -11
  133. package/enums/Parachute.js +0 -15
  134. package/enums/PickupType.js +0 -74
  135. package/enums/RadioStation.js +0 -25
  136. package/enums/RagdollType.js +0 -7
  137. package/enums/RaycastEnums.js +0 -32
  138. package/enums/Relationship.js +0 -10
  139. package/enums/RopeType.js +0 -6
  140. package/enums/ScreenEffect.js +0 -84
  141. package/enums/SpeechModifier.js +0 -40
  142. package/enums/Vehicle.js +0 -376
  143. package/enums/Weather.js +0 -22
  144. package/enums/ZoneID.js +0 -95
  145. package/enums/index.js +0 -42
  146. package/hashes/MaterialHash.js +0 -217
  147. package/hashes/PedHash.js +0 -725
  148. package/hashes/VehicleHash.js +0 -523
  149. package/hashes/WeaponHash.js +0 -161
  150. package/hashes/WeatherTypeHash.js +0 -22
  151. package/hashes/index.js +0 -5
  152. package/interfaces/Dimensions.js +0 -1
  153. package/models/BaseEntity.js +0 -477
  154. package/models/Entity.js +0 -25
  155. package/models/EntityBone.js +0 -26
  156. package/models/EntityBoneCollection.js +0 -18
  157. package/models/Ped.js +0 -692
  158. package/models/PedBone.js +0 -9
  159. package/models/PedBoneCollection.js +0 -21
  160. package/models/Player.js +0 -186
  161. package/models/Prop.js +0 -26
  162. package/models/Vehicle.js +0 -576
  163. package/models/VehicleDoor.js +0 -44
  164. package/models/VehicleDoorCollection.js +0 -62
  165. package/models/VehicleMod.js +0 -35
  166. package/models/VehicleModCollection.js +0 -227
  167. package/models/VehicleToggleMod.js +0 -29
  168. package/models/VehicleWheel.js +0 -23
  169. package/models/VehicleWheelCollection.js +0 -57
  170. package/models/VehicleWindow.js +0 -35
  171. package/models/VehicleWindowCollection.js +0 -57
  172. package/models/index.js +0 -19
  173. package/ui/Container.js +0 -31
  174. package/ui/Effects.js +0 -106
  175. package/ui/Fading.js +0 -69
  176. package/ui/Hud.js +0 -39
  177. package/ui/InstructionalButtons.js +0 -54
  178. package/ui/LoadingPrompt.js +0 -45
  179. package/ui/Notification.js +0 -9
  180. package/ui/Rectangle.js +0 -40
  181. package/ui/Scaleform.js +0 -236
  182. package/ui/Screen.js +0 -72
  183. package/ui/Sprite.js +0 -60
  184. package/ui/Text.js +0 -115
  185. package/ui/Timerbar.js +0 -248
  186. package/ui/index.js +0 -15
  187. package/ui/interfaces/IButton.js +0 -1
  188. package/ui/interfaces/IDrawable.js +0 -1
  189. package/ui/interfaces/index.js +0 -1
  190. package/ui/menu/Menu.js +0 -831
  191. package/ui/menu/MenuControl.js +0 -12
  192. package/ui/menu/MenuControls.js +0 -9
  193. package/ui/menu/MenuSettings.js +0 -54
  194. package/ui/menu/index.js +0 -6
  195. package/ui/menu/items/UIMenuCheckboxItem.js +0 -59
  196. package/ui/menu/items/UIMenuItem.js +0 -1111
  197. package/ui/menu/items/UIMenuListItem.js +0 -119
  198. package/ui/menu/items/UIMenuSeparatorItem.js +0 -29
  199. package/ui/menu/items/UIMenuSliderItem.js +0 -191
  200. package/ui/menu/items/index.js +0 -6
  201. package/ui/menu/items/panels/AbstractUIMenuPanel.js +0 -44
  202. package/ui/menu/items/panels/UIMenuColorPanel.js +0 -217
  203. package/ui/menu/items/panels/UIMenuGridPanel.js +0 -261
  204. package/ui/menu/items/panels/UIMenuPercentagePanel.js +0 -124
  205. package/ui/menu/items/panels/UIMenuStatisticsPanel.js +0 -79
  206. package/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +0 -35
  207. package/ui/menu/items/panels/index.js +0 -6
  208. package/ui/menu/modules/ListItem.js +0 -10
  209. package/ui/menu/modules/index.js +0 -1
  210. package/utils/Animations.js +0 -55
  211. package/utils/Crypto.js +0 -25
  212. package/utils/LiteEvent.js +0 -19
  213. package/utils/Maths.js +0 -10
  214. package/utils/Point.js +0 -30
  215. package/utils/PointF.js +0 -14
  216. package/utils/Quaternion.js +0 -27
  217. package/utils/Size.js +0 -8
  218. package/utils/String.js +0 -25
  219. package/utils/enumValues.js +0 -14
  220. package/utils/index.js +0 -9
  221. package/weapon/DlcWeaponData.js +0 -44
  222. package/weapon/Mk2WeaponHash.js +0 -25
  223. package/weapon/Weapon.js +0 -270
  224. package/weapon/WeaponAsset.js +0 -84
  225. package/weapon/WeaponCollection.js +0 -187
  226. package/weapon/WeaponDisplayNameByHash.js +0 -75
  227. package/weapon/WeaponGroup.js +0 -19
  228. package/weapon/WeaponHudStats.js +0 -38
  229. package/weapon/WeaponLivery.js +0 -14
  230. package/weapon/WeaponLiveryColor.js +0 -35
  231. package/weapon/WeaponTint.js +0 -43
  232. package/weapon/index.js +0 -8
  233. package/weaponComponent/ComponentAttachmentPoint.js +0 -19
  234. package/weaponComponent/ComponentAttachmentPointByHash.js +0 -573
  235. package/weaponComponent/ComponentDisplayNameByHash.js +0 -280
  236. package/weaponComponent/DlcWeaponComponentData.js +0 -44
  237. package/weaponComponent/InvalidWeaponComponent.js +0 -28
  238. package/weaponComponent/WeaponComponent.js +0 -123
  239. package/weaponComponent/WeaponComponentCollection.js +0 -174
  240. package/weaponComponent/WeaponComponentHash.js +0 -887
  241. package/weaponComponent/WeaponComponentHashesByWeaponHash.js +0 -829
  242. package/weaponComponent/WeaponComponentHudStats.js +0 -34
  243. package/weaponComponent/index.js +0 -5
@@ -1,119 +0,0 @@
1
- import { Menu, Sprite, Text } from "../../";
2
- import { Alignment, Font } from "../../../enums";
3
- import { Color, LiteEvent, Point, Size, String } from "../../../utils";
4
- import { UIMenuItem } from "./";
5
- export class UIMenuListItem extends UIMenuItem {
6
- listChanged = new LiteEvent();
7
- listSelected = new LiteEvent();
8
- supportsRightBadge = false;
9
- supportsRightLabel = false;
10
- _itemText;
11
- _leftArrow;
12
- _rightArrow;
13
- _index = 0;
14
- _arrowOnlyOnSelected = false;
15
- _items = [];
16
- _textWidth = 0;
17
- constructor(text, items, startIndex = 0, description, arrowOnlyOnSelected = true) {
18
- super(text, description);
19
- this._leftArrow = new Sprite("commonmenu", "arrowleft", new Point(), new Size(30, 30));
20
- this._rightArrow = new Sprite("commonmenu", "arrowright", new Point(), new Size(30, 30));
21
- this._itemText = new Text("", new Point(), 0.35, Color.White, Font.ChaletLondon, Alignment.Right);
22
- this.ArrowOnlyOnSelected = arrowOnlyOnSelected;
23
- this.Items = items;
24
- this.Index = startIndex;
25
- }
26
- get Items() {
27
- return this._items;
28
- }
29
- set Items(value) {
30
- if (!value) {
31
- throw new Error("Items can't be null");
32
- }
33
- this._items = value;
34
- }
35
- get SelectedItem() {
36
- return this.Items[this.Index];
37
- }
38
- set SelectedItem(value) {
39
- const index = this.Items.findIndex((i) => i.id === value.id);
40
- if (index >= 0) {
41
- this.Index = index;
42
- }
43
- }
44
- get SelectedValue() {
45
- const item = this.SelectedItem;
46
- return item ? item.value : null;
47
- }
48
- get Index() {
49
- return this._index % this.Items.length;
50
- }
51
- set Index(value) {
52
- if (!this._items.length) {
53
- return;
54
- }
55
- value =
56
- value < 0
57
- ? this._items.length - 1
58
- : value > this._items.length - 1
59
- ? 0
60
- : value;
61
- this._index = value;
62
- this._textWidth = 0;
63
- }
64
- get ArrowOnlyOnSelected() {
65
- return this._arrowOnlyOnSelected;
66
- }
67
- set ArrowOnlyOnSelected(value) {
68
- this._arrowOnlyOnSelected = value;
69
- }
70
- get IsMouseInBoundsOfLeftArrow() {
71
- return this.parent
72
- ? this.parent.isMouseInBounds(this._leftArrow.pos, this._leftArrow.size)
73
- : false;
74
- }
75
- get IsMouseInBoundsOfRightArrow() {
76
- return this.parent
77
- ? this.parent.isMouseInBounds(this._rightArrow.pos, this._rightArrow.size)
78
- : false;
79
- }
80
- setVerticalPosition(y) {
81
- const yOffset = y + this.offset.Y + 147;
82
- this._leftArrow.pos.Y = yOffset;
83
- this._rightArrow.pos.Y = yOffset;
84
- this._itemText.pos.Y = yOffset;
85
- super.setVerticalPosition(y);
86
- }
87
- draw() {
88
- super.draw();
89
- if (this._textWidth === undefined) {
90
- const caption = this._getSelectedItemCaption();
91
- this._itemText.caption = caption;
92
- this._textWidth = String.measureString(caption, this._itemText.font, this._itemText.scale, Menu.screenWidth);
93
- }
94
- this._rightArrow.pos.X =
95
- this.offset.X + (this.parent ? this.parent.WidthOffset : 0) + 400;
96
- this._itemText.pos.X = this._rightArrow.pos.X + 5;
97
- this._itemText.color = this.enabled
98
- ? this.selected
99
- ? this.HighlightedForeColor
100
- : this.ForeColor
101
- : new Color(163, 159, 148);
102
- if (this._arrowOnlyOnSelected && !this.selected) {
103
- this._itemText.pos.X += this._rightArrow.size.width / 2;
104
- }
105
- else {
106
- this._leftArrow.color = this._itemText.color;
107
- this._rightArrow.color = this._itemText.color;
108
- this._leftArrow.pos.X =
109
- this._itemText.pos.X - this._textWidth - this._leftArrow.size.width + 5;
110
- this._leftArrow.draw(Menu.screenResolution);
111
- this._rightArrow.draw(Menu.screenResolution);
112
- }
113
- this._itemText.draw(undefined, Menu.screenResolution);
114
- }
115
- _getSelectedItemCaption() {
116
- const item = this.SelectedItem;
117
- return item ? item.name : "";
118
- }
119
- }
@@ -1,29 +0,0 @@
1
- import { UIMenuItem } from "./";
2
- import { Alignment } from "../../../enums";
3
- import { Menu } from "../";
4
- export class UIMenuSeparatorItem extends UIMenuItem {
5
- supportsDescription = false;
6
- supportsPanels = false;
7
- supportsLeftBadge = false;
8
- supportsRightBadge = false;
9
- supportsRightLabel = false;
10
- constructor(text) {
11
- super(text ?? "");
12
- this.text.alignment = Alignment.Centered;
13
- }
14
- setVerticalPosition(y) {
15
- const yOffset = y + this.offset.Y;
16
- this.rectangle.pos.Y = yOffset + 144;
17
- this.text.pos.Y = yOffset + 147;
18
- }
19
- draw() {
20
- const width = 431 + (this.parent ? this.parent.WidthOffset : 0);
21
- this.rectangle.size.width = width;
22
- this.rectangle.pos.X = this.offset.X;
23
- this.rectangle.draw(undefined, Menu.screenResolution);
24
- if (this.text.caption !== "") {
25
- this.text.pos.X = this.offset.X + width / 2;
26
- this.text.draw(undefined, Menu.screenResolution);
27
- }
28
- }
29
- }
@@ -1,191 +0,0 @@
1
- import { Menu, Rectangle, Sprite } from "../../";
2
- import { UIMenuItem } from "./";
3
- import { Color, LiteEvent, Point, Size } from "../../../utils";
4
- import { BadgeStyle } from "../../../enums";
5
- export class UIMenuSliderItem extends UIMenuItem {
6
- sliderChanged = new LiteEvent();
7
- sliderSelected = new LiteEvent();
8
- supportsRightBadge = false;
9
- supportsRightLabel = false;
10
- _index = 0;
11
- _items = [];
12
- _showDivider = true;
13
- _arrowOnlyOnSelected = false;
14
- _leftSliderBadge = BadgeStyle.None;
15
- _rightSliderBadge = BadgeStyle.None;
16
- _background;
17
- _slider;
18
- _divider;
19
- _leftArrow;
20
- _rightArrow;
21
- _leftSliderBadgeSprite;
22
- _rightSliderBadgeSprite;
23
- constructor(text, items, startIndex = 0, description, showDivider = false, arrowOnlyOnSelected = false) {
24
- super(text, description);
25
- this._background = new Rectangle(new Point(), new Size(150, 9), new Color(4, 32, 57));
26
- this._slider = new Rectangle(new Point(), new Size(75, 9), new Color(57, 116, 200));
27
- this._divider = new Rectangle(new Point(), new Size(2.5, 20), Color.WhiteSmoke);
28
- this._leftArrow = new Sprite("commonmenutu", "arrowleft", new Point(), new Size(15, 15));
29
- this._rightArrow = new Sprite("commonmenutu", "arrowright", new Point(), new Size(15, 15));
30
- this._leftSliderBadgeSprite = new Sprite("", "");
31
- this._rightSliderBadgeSprite = new Sprite("", "");
32
- this.ArrowOnlyOnSelected = arrowOnlyOnSelected;
33
- this.ShowDivider = showDivider;
34
- this.Items = items;
35
- this.Index = startIndex;
36
- }
37
- get Index() {
38
- return this._index % this._items.length;
39
- }
40
- set Index(value) {
41
- this._index = 100000000 - (100000000 % this._items.length) + value;
42
- }
43
- get Item() {
44
- return this._items[this.Index];
45
- }
46
- get Items() {
47
- return this._items;
48
- }
49
- set Items(value) {
50
- this._items = value || [];
51
- }
52
- get ShowDivider() {
53
- return this._showDivider;
54
- }
55
- set ShowDivider(value) {
56
- this._showDivider = value;
57
- }
58
- get ArrowOnlyOnSelected() {
59
- return this._arrowOnlyOnSelected;
60
- }
61
- set ArrowOnlyOnSelected(value) {
62
- this._arrowOnlyOnSelected = value;
63
- }
64
- get BackgroundColor() {
65
- return this._background.color;
66
- }
67
- set BackgroundColor(value) {
68
- this._background.color = value || new Color(4, 32, 57);
69
- }
70
- get SliderColor() {
71
- return this._slider.color;
72
- }
73
- set SliderColor(value) {
74
- this._slider.color = value || new Color(57, 116, 200);
75
- }
76
- get DividerColor() {
77
- return this._divider.color;
78
- }
79
- set DividerColor(value) {
80
- this._divider.color = value || Color.WhiteSmoke;
81
- }
82
- get LeftSliderBadge() {
83
- return this._leftSliderBadge;
84
- }
85
- set LeftSliderBadge(value) {
86
- value = Number(value);
87
- this._leftSliderBadge = value;
88
- this._leftSliderBadgeSprite.TextureDict =
89
- UIMenuItem.badgeToTextureDict(value);
90
- this._leftSliderBadgeSprite.size = UIMenuItem.getBadgeSize(value);
91
- }
92
- get RightSliderBadge() {
93
- return this._rightSliderBadge;
94
- }
95
- set RightSliderBadge(value) {
96
- value = Number(value);
97
- this._rightSliderBadge = value;
98
- this._rightSliderBadgeSprite.TextureDict =
99
- UIMenuItem.badgeToTextureDict(value);
100
- this._rightSliderBadgeSprite.size = UIMenuItem.getBadgeSize(value);
101
- }
102
- get IsMouseInBoundsOfLeftArrow() {
103
- return this.parent
104
- ? this.parent.isMouseInBounds(this._leftArrow.pos, this._leftArrow.size)
105
- : false;
106
- }
107
- get IsMouseInBoundsOfRightArrow() {
108
- return this.parent
109
- ? this.parent.isMouseInBounds(this._rightArrow.pos, this._rightArrow.size)
110
- : false;
111
- }
112
- indexToItem(index) {
113
- return this._items[index];
114
- }
115
- setVerticalPosition(y) {
116
- const yOffset = y + this.offset.Y;
117
- this._background.pos.Y = yOffset + 158.5;
118
- this._slider.pos.Y = yOffset + 158.5;
119
- this._divider.pos.Y = yOffset + 153;
120
- this._leftArrow.pos.Y = yOffset + 155.5;
121
- this._rightArrow.pos.Y = yOffset + 155.5;
122
- this._leftSliderBadgeSprite.pos.Y =
123
- yOffset +
124
- 142 +
125
- UIMenuItem.getBadgeSpriteHeightOffset(this._leftSliderBadgeSprite);
126
- this._rightSliderBadgeSprite.pos.Y =
127
- yOffset +
128
- 142 +
129
- UIMenuItem.getBadgeSpriteHeightOffset(this._rightSliderBadgeSprite);
130
- super.setVerticalPosition(y);
131
- }
132
- draw() {
133
- super.draw();
134
- const showArrows = !this._arrowOnlyOnSelected || this.selected;
135
- const x = this.offset.X + (this.parent ? this.parent.WidthOffset : 0);
136
- this._background.pos.X = 431 + x - this._background.size.width;
137
- if (showArrows) {
138
- this._background.pos.X -= this._rightArrow.size.width / 2;
139
- this._leftSliderBadgeSprite.pos.X = -this._leftArrow.size.width / 2;
140
- }
141
- else {
142
- this._leftSliderBadgeSprite.pos.X = 0;
143
- }
144
- if (this._rightSliderBadge !== BadgeStyle.None) {
145
- const widthOffset = UIMenuItem.getBadgeSpriteWidthOffset(this._rightSliderBadgeSprite);
146
- this._background.pos.X -= 40;
147
- this._rightSliderBadgeSprite.pos.X = 431 + x;
148
- this._rightSliderBadgeSprite.pos.X -=
149
- this._rightSliderBadgeSprite.size.width + widthOffset;
150
- this._rightSliderBadgeSprite.textureName = this.badgeToTextureName(this._rightSliderBadge);
151
- this._rightSliderBadgeSprite.color = this.badgeToColor(this._rightSliderBadge);
152
- this._rightSliderBadgeSprite.draw(Menu.screenResolution);
153
- }
154
- else {
155
- this._background.pos.X -= this._rightArrow.size.width / 2;
156
- }
157
- if (this._leftSliderBadge !== BadgeStyle.None) {
158
- const widthOffset = UIMenuItem.getBadgeSpriteWidthOffset(this._leftSliderBadgeSprite);
159
- this._leftSliderBadgeSprite.pos.X -=
160
- this._leftSliderBadgeSprite.size.width + widthOffset;
161
- this._leftSliderBadgeSprite.pos.X += this._background.pos.X;
162
- this._leftSliderBadgeSprite.textureName = this.badgeToTextureName(this._leftSliderBadge);
163
- this._leftSliderBadgeSprite.color = this.badgeToColor(this._leftSliderBadge);
164
- this._leftSliderBadgeSprite.draw(Menu.screenResolution);
165
- }
166
- const sliderXOffset = ((this._background.size.width - this._slider.size.width) /
167
- (this._items.length - 1)) *
168
- this.Index;
169
- this._slider.pos.X = this._background.pos.X + sliderXOffset;
170
- this._leftArrow.color = this.enabled
171
- ? this.selected
172
- ? Color.Black
173
- : Color.WhiteSmoke
174
- : new Color(163, 159, 148);
175
- this._rightArrow.color = this._leftArrow.color;
176
- this._background.draw(undefined, Menu.screenResolution);
177
- this._slider.draw(undefined, Menu.screenResolution);
178
- if (showArrows) {
179
- this._leftArrow.pos.X = this._background.pos.X - 15;
180
- this._rightArrow.pos.X =
181
- this._background.pos.X + this._background.size.width;
182
- this._leftArrow.draw(Menu.screenResolution);
183
- this._rightArrow.draw(Menu.screenResolution);
184
- }
185
- if (this._showDivider) {
186
- this._divider.pos.X =
187
- this._background.pos.X + this._background.size.width / 2;
188
- this._divider.draw(undefined, Menu.screenResolution);
189
- }
190
- }
191
- }
@@ -1,6 +0,0 @@
1
- export * from "./panels";
2
- export { UIMenuItem } from "./UIMenuItem";
3
- export { UIMenuCheckboxItem } from "./UIMenuCheckboxItem";
4
- export { UIMenuListItem } from "./UIMenuListItem";
5
- export { UIMenuSeparatorItem } from "./UIMenuSeparatorItem";
6
- export { UIMenuSliderItem } from "./UIMenuSliderItem";
@@ -1,44 +0,0 @@
1
- import { Crypto } from "../../../../utils";
2
- import { Sprite } from "../../../";
3
- import { Menu } from "../../";
4
- export class AbstractUIMenuPanel {
5
- id = Crypto.uuidv4();
6
- parentItem;
7
- enabled = true;
8
- background;
9
- get ParentMenu() {
10
- return this.parentItem ? this.parentItem.parent : undefined;
11
- }
12
- get ParentItem() {
13
- return this.parentItem;
14
- }
15
- set ParentItem(value) {
16
- this.parentItem = value;
17
- }
18
- get Enabled() {
19
- return this.enabled;
20
- }
21
- set Enabled(value) {
22
- this.enabled = value;
23
- }
24
- get Height() {
25
- return this.background ? this.background.size.height : 0;
26
- }
27
- setVerticalPosition(y) {
28
- if (this.background)
29
- this.background.pos.Y = y;
30
- }
31
- draw() {
32
- if (this.background) {
33
- this.background.size.width =
34
- 431 + (this.ParentMenu ? this.ParentMenu.WidthOffset : 0);
35
- this.background.pos.X = this.parentItem ? this.parentItem.offset.X : 0;
36
- if (this.background instanceof Sprite) {
37
- this.background.draw(Menu.screenResolution);
38
- }
39
- else {
40
- this.background.draw(undefined, Menu.screenResolution);
41
- }
42
- }
43
- }
44
- }
@@ -1,217 +0,0 @@
1
- import { Color, Point, Size } from "../../../../utils";
2
- import { AbstractUIMenuPanel } from "./";
3
- import { Rectangle, Sprite, Text } from "../../../";
4
- import { Alignment, Control, Font } from "../../../../enums";
5
- import { Game, Menu } from "../../../../";
6
- export class UIMenuColorPanel extends AbstractUIMenuPanel {
7
- background;
8
- _title = "";
9
- _text;
10
- _colors = [];
11
- _bar = [];
12
- _lastColor = Color.Transparent;
13
- _leftArrow;
14
- _rightArrow;
15
- _selectedRectangle;
16
- // Pagination
17
- _min = 0;
18
- _max = 8;
19
- _total = 9;
20
- _index = 0;
21
- constructor(title, colors) {
22
- super();
23
- this.background = new Sprite("commonmenu", "gradient_bgd", new Point(), new Size(431, 112));
24
- this._leftArrow = new Sprite("commonmenu", "arrowleft", new Point(), new Size(30, 30));
25
- this._rightArrow = new Sprite("commonmenu", "arrowright", new Point(), new Size(30, 30));
26
- this._selectedRectangle = new Rectangle(new Point(), new Size(44.5, 8), Color.White);
27
- this._text = new Text("", new Point(), 0.35, Color.White, Font.ChaletLondon, Alignment.Centered);
28
- this.Title = title;
29
- this.Colors = colors;
30
- }
31
- get Title() {
32
- return this._title;
33
- }
34
- set Title(value) {
35
- this._title = value ? value.trim() : "";
36
- this._updateText();
37
- }
38
- get Colors() {
39
- return this._colors;
40
- }
41
- set Colors(value) {
42
- if (!value) {
43
- value = [];
44
- }
45
- this._colors = value;
46
- this._bar = [];
47
- const colorRectangles = value.slice(0, this._total).map((color) => {
48
- return new Rectangle(new Point(0, 0), new Size(44.5, 44.5), color);
49
- });
50
- this._bar.push(...colorRectangles);
51
- this._refreshIndex();
52
- this._updateSelection(true);
53
- }
54
- get Color() {
55
- return this._colors[this.Index];
56
- }
57
- set Color(value) {
58
- const index = this._colors.findIndex((c) => {
59
- return (c.a === value.a && c.r === value.r && c.g === value.g && c.b === value.b);
60
- });
61
- if (index !== -1) {
62
- this.Index = index;
63
- }
64
- }
65
- get Index() {
66
- return this._index % this._colors.length;
67
- }
68
- set Index(value) {
69
- value = 1000000 - (1000000 % this._colors.length) + value;
70
- if (this.Index === value % this._colors.length) {
71
- return;
72
- }
73
- this._index = value;
74
- const currentSelection = this.Index;
75
- if (currentSelection > this._max) {
76
- this._min = currentSelection - this._total + 1;
77
- this._max = currentSelection;
78
- }
79
- else if (currentSelection < this._min) {
80
- this._min = currentSelection;
81
- this._max = currentSelection + this._total - 1;
82
- }
83
- this._updateSelection();
84
- }
85
- updateParentItem() {
86
- const last = this._lastColor;
87
- const current = this.Color;
88
- if (!last ||
89
- last.a !== current.a ||
90
- last.r !== current.r ||
91
- last.g !== current.g ||
92
- last.b !== current.b) {
93
- this._lastColor = current;
94
- if (this.ParentMenu)
95
- this.ParentMenu.panelActivated.emit(this.parentItem, this, this.Index, current);
96
- if (this.parentItem)
97
- this.parentItem.panelActivated.emit(this, this.Index, current);
98
- }
99
- }
100
- setVerticalPosition(y) {
101
- super.setVerticalPosition(y);
102
- this._selectedRectangle.pos.Y = y + 47;
103
- this._leftArrow.pos.Y = y + 15;
104
- this._rightArrow.pos.Y = y + 15;
105
- this._text.pos.Y = y + 15;
106
- this._bar.forEach(async (colorRect) => {
107
- colorRect.pos.Y = y + 55;
108
- });
109
- }
110
- draw() {
111
- if (this.enabled) {
112
- super.draw();
113
- const x = (this.parentItem ? this.parentItem.offset.X : 0) +
114
- (this.ParentMenu ? this.ParentMenu.WidthOffset / 2 : 0);
115
- this._selectedRectangle.pos.X = x + 15 + 44.5 * (this.Index - this._min);
116
- this._leftArrow.pos.X = x + 7.5;
117
- this._rightArrow.pos.X = x + 393.5;
118
- this._text.pos.X = x + 215.5;
119
- this._leftArrow.draw(Menu.screenResolution);
120
- this._rightArrow.draw(Menu.screenResolution);
121
- this._text.draw(undefined, Menu.screenResolution);
122
- this._selectedRectangle.draw(undefined, Menu.screenResolution);
123
- this._bar.forEach(async (colorRect, index) => {
124
- colorRect.pos.X = x + 15 + 44.5 * index;
125
- colorRect.draw(undefined, Menu.screenResolution);
126
- });
127
- this._processControls();
128
- }
129
- }
130
- _refreshIndex() {
131
- if (!this._colors.length) {
132
- this._index = 1000;
133
- }
134
- else {
135
- this._index = 1000 - (1000 % this._colors.length);
136
- }
137
- this._max = this._total - 1;
138
- this._min = 0;
139
- }
140
- _updateSelection(preventUpdate = false) {
141
- if (!preventUpdate) {
142
- this.updateParentItem();
143
- }
144
- this._bar.forEach(async (colorRect, index) => {
145
- colorRect.color = this._colors[this._min + index];
146
- });
147
- this._updateText();
148
- }
149
- _updateText() {
150
- this._text.caption = `${this._title} [${this.Index + 1 || 0} / ${this._colors.length}]`;
151
- }
152
- _goLeft() {
153
- if (this._colors.length > this._total) {
154
- if (this.Index <= this._min) {
155
- if (this.Index === 0) {
156
- this._min = this._colors.length - this._total;
157
- this._max = this._colors.length - 1;
158
- this._index = 1000 - (1000 % this._colors.length);
159
- this._index += this._colors.length - 1;
160
- }
161
- else {
162
- this._min--;
163
- this._max--;
164
- this._index--;
165
- }
166
- }
167
- else {
168
- this._index--;
169
- }
170
- }
171
- else {
172
- this._index--;
173
- }
174
- this._updateSelection();
175
- }
176
- _goRight() {
177
- if (this._colors.length > this._total) {
178
- if (this.Index >= this._max) {
179
- if (this.Index === this._colors.length - 1) {
180
- this._min = 0;
181
- this._max = this._total - 1;
182
- this._index = 1000 - (1000 % this._colors.length);
183
- }
184
- else {
185
- this._min++;
186
- this._max++;
187
- this._index++;
188
- }
189
- }
190
- else {
191
- this._index++;
192
- }
193
- }
194
- else {
195
- this._index++;
196
- }
197
- this._updateSelection();
198
- }
199
- _processControls() {
200
- if (Game.isDisabledControlJustPressed(0, Control.Attack)) {
201
- if (this.ParentMenu) {
202
- if (this.ParentMenu.isMouseInBounds(this._leftArrow.pos, this._leftArrow.size)) {
203
- this._goLeft();
204
- }
205
- else if (this.ParentMenu.isMouseInBounds(this._rightArrow.pos, this._rightArrow.size)) {
206
- this._goRight();
207
- }
208
- this._bar.forEach(async (colorRect, index) => {
209
- if (this.ParentMenu &&
210
- this.ParentMenu.isMouseInBounds(colorRect.pos, colorRect.size)) {
211
- this.Index = this._min + index;
212
- }
213
- });
214
- }
215
- }
216
- }
217
- }