@nativewrappers/fivem 0.0.65 → 0.0.72

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 (241) 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 +2 -2
  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 +12 -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 +20136 -26
  40. package/interfaces/Dimensions.d.ts +1 -1
  41. package/models/BaseEntity.d.ts +3 -3
  42. package/models/Ped.d.ts +2 -2
  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 -6
  72. package/utils/index.d.ts +1 -1
  73. package/weapon/DlcWeaponData.d.ts +1 -1
  74. package/weapon/Weapon.d.ts +7 -7
  75. package/weapon/WeaponAsset.d.ts +1 -1
  76. package/weapon/WeaponCollection.d.ts +2 -2
  77. package/weaponComponent/DlcWeaponComponentData.d.ts +1 -1
  78. package/weaponComponent/InvalidWeaponComponent.d.ts +1 -1
  79. package/weaponComponent/WeaponComponent.d.ts +3 -3
  80. package/weaponComponent/WeaponComponentCollection.d.ts +3 -3
  81. package/Audio.js +0 -93
  82. package/Blip.js +0 -105
  83. package/Camera.js +0 -162
  84. package/Checkpoint.js +0 -43
  85. package/Events.js +0 -74
  86. package/Game.js +0 -474
  87. package/GameplayCamera.js +0 -141
  88. package/Model.js +0 -213
  89. package/NetworkedScene.js +0 -18
  90. package/ParticleEffect.js +0 -123
  91. package/ParticleEffectAsset.js +0 -105
  92. package/Pickup.js +0 -19
  93. package/Raycast.js +0 -123
  94. package/RelationshipGroup.js +0 -67
  95. package/Rope.js +0 -129
  96. package/TaskSequence.js +0 -48
  97. package/Tasks.js +0 -241
  98. package/World.js +0 -765
  99. package/cfx/StateBagChangeHandler.js +0 -1
  100. package/cfx/index.js +0 -1
  101. package/enums/Alignment.js +0 -6
  102. package/enums/AnimationFlags.js +0 -35
  103. package/enums/AudioFlag.js +0 -38
  104. package/enums/BadgeStyle.js +0 -183
  105. package/enums/Blip.js +0 -225
  106. package/enums/Bone.js +0 -103
  107. package/enums/CameraShake.js +0 -14
  108. package/enums/CameraTypes.js +0 -8
  109. package/enums/CheckboxStyle.js +0 -5
  110. package/enums/Checkpoint.js +0 -67
  111. package/enums/CloudHat.js +0 -27
  112. package/enums/Control.js +0 -361
  113. package/enums/CursorSprite.js +0 -15
  114. package/enums/Driving.js +0 -34
  115. package/enums/ExplosionType.js +0 -45
  116. package/enums/FiringPattern.js +0 -20
  117. package/enums/Font.js +0 -8
  118. package/enums/ForceType.js +0 -9
  119. package/enums/Gender.js +0 -5
  120. package/enums/HelmetType.js +0 -6
  121. package/enums/HudColor.js +0 -184
  122. package/enums/HudComponent.js +0 -54
  123. package/enums/InputMode.js +0 -5
  124. package/enums/InvertAxis.js +0 -7
  125. package/enums/Language.js +0 -15
  126. package/enums/LeaveVehicleFlags.js +0 -11
  127. package/enums/LoadingSpinnerType.js +0 -8
  128. package/enums/MarkerType.js +0 -50
  129. package/enums/MenuAlignment.js +0 -5
  130. package/enums/NotificationType.js +0 -11
  131. package/enums/Parachute.js +0 -15
  132. package/enums/PickupType.js +0 -74
  133. package/enums/RadioStation.js +0 -25
  134. package/enums/RagdollType.js +0 -7
  135. package/enums/RaycastEnums.js +0 -32
  136. package/enums/Relationship.js +0 -10
  137. package/enums/RopeType.js +0 -6
  138. package/enums/ScreenEffect.js +0 -84
  139. package/enums/SpeechModifier.js +0 -40
  140. package/enums/Vehicle.js +0 -376
  141. package/enums/Weather.js +0 -22
  142. package/enums/ZoneID.js +0 -95
  143. package/enums/index.js +0 -42
  144. package/hashes/MaterialHash.js +0 -217
  145. package/hashes/PedHash.js +0 -725
  146. package/hashes/VehicleHash.js +0 -523
  147. package/hashes/WeaponHash.js +0 -161
  148. package/hashes/WeatherTypeHash.js +0 -22
  149. package/hashes/index.js +0 -5
  150. package/interfaces/Dimensions.js +0 -1
  151. package/models/BaseEntity.js +0 -477
  152. package/models/Entity.js +0 -25
  153. package/models/EntityBone.js +0 -26
  154. package/models/EntityBoneCollection.js +0 -18
  155. package/models/Ped.js +0 -692
  156. package/models/PedBone.js +0 -9
  157. package/models/PedBoneCollection.js +0 -21
  158. package/models/Player.js +0 -186
  159. package/models/Prop.js +0 -26
  160. package/models/Vehicle.js +0 -576
  161. package/models/VehicleDoor.js +0 -44
  162. package/models/VehicleDoorCollection.js +0 -62
  163. package/models/VehicleMod.js +0 -35
  164. package/models/VehicleModCollection.js +0 -227
  165. package/models/VehicleToggleMod.js +0 -29
  166. package/models/VehicleWheel.js +0 -23
  167. package/models/VehicleWheelCollection.js +0 -57
  168. package/models/VehicleWindow.js +0 -35
  169. package/models/VehicleWindowCollection.js +0 -57
  170. package/models/index.js +0 -19
  171. package/ui/Container.js +0 -31
  172. package/ui/Effects.js +0 -106
  173. package/ui/Fading.js +0 -69
  174. package/ui/Hud.js +0 -39
  175. package/ui/InstructionalButtons.js +0 -54
  176. package/ui/LoadingPrompt.js +0 -45
  177. package/ui/Notification.js +0 -9
  178. package/ui/Rectangle.js +0 -40
  179. package/ui/Scaleform.js +0 -236
  180. package/ui/Screen.js +0 -72
  181. package/ui/Sprite.js +0 -60
  182. package/ui/Text.js +0 -115
  183. package/ui/Timerbar.js +0 -248
  184. package/ui/index.js +0 -15
  185. package/ui/interfaces/IButton.js +0 -1
  186. package/ui/interfaces/IDrawable.js +0 -1
  187. package/ui/interfaces/index.js +0 -1
  188. package/ui/menu/Menu.js +0 -831
  189. package/ui/menu/MenuControl.js +0 -12
  190. package/ui/menu/MenuControls.js +0 -9
  191. package/ui/menu/MenuSettings.js +0 -54
  192. package/ui/menu/index.js +0 -6
  193. package/ui/menu/items/UIMenuCheckboxItem.js +0 -59
  194. package/ui/menu/items/UIMenuItem.js +0 -1111
  195. package/ui/menu/items/UIMenuListItem.js +0 -119
  196. package/ui/menu/items/UIMenuSeparatorItem.js +0 -29
  197. package/ui/menu/items/UIMenuSliderItem.js +0 -191
  198. package/ui/menu/items/index.js +0 -6
  199. package/ui/menu/items/panels/AbstractUIMenuPanel.js +0 -44
  200. package/ui/menu/items/panels/UIMenuColorPanel.js +0 -217
  201. package/ui/menu/items/panels/UIMenuGridPanel.js +0 -261
  202. package/ui/menu/items/panels/UIMenuPercentagePanel.js +0 -124
  203. package/ui/menu/items/panels/UIMenuStatisticsPanel.js +0 -79
  204. package/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +0 -35
  205. package/ui/menu/items/panels/index.js +0 -6
  206. package/ui/menu/modules/ListItem.js +0 -10
  207. package/ui/menu/modules/index.js +0 -1
  208. package/utils/Animations.js +0 -55
  209. package/utils/Crypto.js +0 -25
  210. package/utils/LiteEvent.js +0 -19
  211. package/utils/Maths.js +0 -10
  212. package/utils/Point.js +0 -30
  213. package/utils/PointF.js +0 -14
  214. package/utils/Quaternion.js +0 -27
  215. package/utils/Size.js +0 -8
  216. package/utils/String.js +0 -25
  217. package/utils/enumValues.js +0 -14
  218. package/utils/index.js +0 -9
  219. package/weapon/DlcWeaponData.js +0 -44
  220. package/weapon/Mk2WeaponHash.js +0 -25
  221. package/weapon/Weapon.js +0 -270
  222. package/weapon/WeaponAsset.js +0 -84
  223. package/weapon/WeaponCollection.js +0 -187
  224. package/weapon/WeaponDisplayNameByHash.js +0 -75
  225. package/weapon/WeaponGroup.js +0 -19
  226. package/weapon/WeaponHudStats.js +0 -38
  227. package/weapon/WeaponLivery.js +0 -14
  228. package/weapon/WeaponLiveryColor.js +0 -35
  229. package/weapon/WeaponTint.js +0 -43
  230. package/weapon/index.js +0 -8
  231. package/weaponComponent/ComponentAttachmentPoint.js +0 -19
  232. package/weaponComponent/ComponentAttachmentPointByHash.js +0 -573
  233. package/weaponComponent/ComponentDisplayNameByHash.js +0 -280
  234. package/weaponComponent/DlcWeaponComponentData.js +0 -44
  235. package/weaponComponent/InvalidWeaponComponent.js +0 -28
  236. package/weaponComponent/WeaponComponent.js +0 -123
  237. package/weaponComponent/WeaponComponentCollection.js +0 -174
  238. package/weaponComponent/WeaponComponentHash.js +0 -887
  239. package/weaponComponent/WeaponComponentHashesByWeaponHash.js +0 -829
  240. package/weaponComponent/WeaponComponentHudStats.js +0 -34
  241. 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
- }