@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.
- package/Audio.d.ts +2 -2
- package/Blip.d.ts +2 -2
- package/Camera.d.ts +1 -1
- package/Game.d.ts +1 -1
- package/GameplayCamera.d.ts +1 -1
- package/Model.d.ts +1 -1
- package/ParticleEffect.d.ts +2 -2
- package/ParticleEffectAsset.d.ts +1 -1
- package/README.md +45 -0
- package/Raycast.d.ts +2 -2
- package/RelationshipGroup.d.ts +1 -1
- package/Tasks.d.ts +3 -3
- package/World.d.ts +2 -2
- package/cfx/StateBagChangeHandler.d.ts +1 -3
- package/common/Command.d.ts +30 -0
- package/common/Convar.d.ts +13 -0
- package/common/GlobalData.d.ts +8 -0
- package/common/Kvp.d.ts +69 -0
- package/common/Resource.d.ts +14 -0
- package/common/decors/Events.d.ts +54 -0
- package/common/index.d.ts +8 -0
- package/common/net/NetworkedMap.d.ts +28 -0
- package/common/types.d.ts +5 -0
- package/common/utils/ClassTypes.d.ts +11 -0
- package/common/utils/Color.d.ts +14 -0
- package/common/utils/Maths.d.ts +4 -0
- package/common/utils/PointF.d.ts +12 -0
- package/common/utils/Quaternion.d.ts +10 -0
- package/common/utils/Vector.d.ts +429 -0
- package/common/utils/Vector2.d.ts +1 -0
- package/common/utils/Vector3.d.ts +1 -0
- package/common/utils/Vector4.d.ts +1 -0
- package/common/utils/cleanPlayerName.d.ts +6 -0
- package/common/utils/enumValues.d.ts +12 -0
- package/{utils/getStringFromUInt8Array.js → common/utils/getStringFromUInt8Array.d.ts} +1 -3
- package/{utils/getUInt32FromUint8Array.js → common/utils/getUInt32FromUint8Array.d.ts} +1 -1
- package/common/utils/index.d.ts +12 -0
- package/index.d.ts +1 -1
- package/index.js +20136 -26
- package/interfaces/Dimensions.d.ts +1 -1
- package/models/BaseEntity.d.ts +3 -3
- package/models/Ped.d.ts +2 -2
- package/models/PedBone.d.ts +1 -1
- package/models/PedBoneCollection.d.ts +1 -1
- package/models/Player.d.ts +1 -1
- package/models/Vehicle.d.ts +2 -2
- package/models/VehicleDoor.d.ts +2 -2
- package/models/VehicleDoorCollection.d.ts +1 -1
- package/models/VehicleMod.d.ts +2 -2
- package/models/VehicleModCollection.d.ts +2 -2
- package/models/VehicleToggleMod.d.ts +2 -2
- package/models/VehicleWheel.d.ts +1 -1
- package/models/VehicleWheelCollection.d.ts +1 -1
- package/models/VehicleWindow.d.ts +2 -2
- package/models/VehicleWindowCollection.d.ts +1 -1
- package/package.json +6 -4
- package/ui/Container.d.ts +2 -2
- package/ui/Effects.d.ts +1 -1
- package/ui/Hud.d.ts +2 -2
- package/ui/InstructionalButtons.d.ts +1 -1
- package/ui/Rectangle.d.ts +2 -2
- package/ui/Scaleform.d.ts +1 -1
- package/ui/Screen.d.ts +1 -1
- package/ui/Text.d.ts +1 -1
- package/ui/interfaces/IButton.d.ts +1 -1
- package/ui/interfaces/IDrawable.d.ts +1 -1
- package/ui/menu/items/UIMenuItem.d.ts +1 -1
- package/ui/menu/items/UIMenuListItem.d.ts +1 -1
- package/ui/menu/items/panels/AbstractUIMenuPanel.d.ts +2 -2
- package/ui/menu/items/panels/UIMenuStatisticsPanel.d.ts +1 -1
- package/utils/LiteEvent.d.ts +2 -6
- package/utils/index.d.ts +1 -1
- package/weapon/DlcWeaponData.d.ts +1 -1
- package/weapon/Weapon.d.ts +7 -7
- package/weapon/WeaponAsset.d.ts +1 -1
- package/weapon/WeaponCollection.d.ts +2 -2
- package/weaponComponent/DlcWeaponComponentData.d.ts +1 -1
- package/weaponComponent/InvalidWeaponComponent.d.ts +1 -1
- package/weaponComponent/WeaponComponent.d.ts +3 -3
- package/weaponComponent/WeaponComponentCollection.d.ts +3 -3
- package/Audio.js +0 -93
- package/Blip.js +0 -105
- package/Camera.js +0 -162
- package/Checkpoint.js +0 -43
- package/Events.js +0 -74
- package/Game.js +0 -474
- package/GameplayCamera.js +0 -141
- package/Model.js +0 -213
- package/NetworkedScene.js +0 -18
- package/ParticleEffect.js +0 -123
- package/ParticleEffectAsset.js +0 -105
- package/Pickup.js +0 -19
- package/Raycast.js +0 -123
- package/RelationshipGroup.js +0 -67
- package/Rope.js +0 -129
- package/TaskSequence.js +0 -48
- package/Tasks.js +0 -241
- package/World.js +0 -765
- package/cfx/StateBagChangeHandler.js +0 -1
- package/cfx/index.js +0 -1
- package/enums/Alignment.js +0 -6
- package/enums/AnimationFlags.js +0 -35
- package/enums/AudioFlag.js +0 -38
- package/enums/BadgeStyle.js +0 -183
- package/enums/Blip.js +0 -225
- package/enums/Bone.js +0 -103
- package/enums/CameraShake.js +0 -14
- package/enums/CameraTypes.js +0 -8
- package/enums/CheckboxStyle.js +0 -5
- package/enums/Checkpoint.js +0 -67
- package/enums/CloudHat.js +0 -27
- package/enums/Control.js +0 -361
- package/enums/CursorSprite.js +0 -15
- package/enums/Driving.js +0 -34
- package/enums/ExplosionType.js +0 -45
- package/enums/FiringPattern.js +0 -20
- package/enums/Font.js +0 -8
- package/enums/ForceType.js +0 -9
- package/enums/Gender.js +0 -5
- package/enums/HelmetType.js +0 -6
- package/enums/HudColor.js +0 -184
- package/enums/HudComponent.js +0 -54
- package/enums/InputMode.js +0 -5
- package/enums/InvertAxis.js +0 -7
- package/enums/Language.js +0 -15
- package/enums/LeaveVehicleFlags.js +0 -11
- package/enums/LoadingSpinnerType.js +0 -8
- package/enums/MarkerType.js +0 -50
- package/enums/MenuAlignment.js +0 -5
- package/enums/NotificationType.js +0 -11
- package/enums/Parachute.js +0 -15
- package/enums/PickupType.js +0 -74
- package/enums/RadioStation.js +0 -25
- package/enums/RagdollType.js +0 -7
- package/enums/RaycastEnums.js +0 -32
- package/enums/Relationship.js +0 -10
- package/enums/RopeType.js +0 -6
- package/enums/ScreenEffect.js +0 -84
- package/enums/SpeechModifier.js +0 -40
- package/enums/Vehicle.js +0 -376
- package/enums/Weather.js +0 -22
- package/enums/ZoneID.js +0 -95
- package/enums/index.js +0 -42
- package/hashes/MaterialHash.js +0 -217
- package/hashes/PedHash.js +0 -725
- package/hashes/VehicleHash.js +0 -523
- package/hashes/WeaponHash.js +0 -161
- package/hashes/WeatherTypeHash.js +0 -22
- package/hashes/index.js +0 -5
- package/interfaces/Dimensions.js +0 -1
- package/models/BaseEntity.js +0 -477
- package/models/Entity.js +0 -25
- package/models/EntityBone.js +0 -26
- package/models/EntityBoneCollection.js +0 -18
- package/models/Ped.js +0 -692
- package/models/PedBone.js +0 -9
- package/models/PedBoneCollection.js +0 -21
- package/models/Player.js +0 -186
- package/models/Prop.js +0 -26
- package/models/Vehicle.js +0 -576
- package/models/VehicleDoor.js +0 -44
- package/models/VehicleDoorCollection.js +0 -62
- package/models/VehicleMod.js +0 -35
- package/models/VehicleModCollection.js +0 -227
- package/models/VehicleToggleMod.js +0 -29
- package/models/VehicleWheel.js +0 -23
- package/models/VehicleWheelCollection.js +0 -57
- package/models/VehicleWindow.js +0 -35
- package/models/VehicleWindowCollection.js +0 -57
- package/models/index.js +0 -19
- package/ui/Container.js +0 -31
- package/ui/Effects.js +0 -106
- package/ui/Fading.js +0 -69
- package/ui/Hud.js +0 -39
- package/ui/InstructionalButtons.js +0 -54
- package/ui/LoadingPrompt.js +0 -45
- package/ui/Notification.js +0 -9
- package/ui/Rectangle.js +0 -40
- package/ui/Scaleform.js +0 -236
- package/ui/Screen.js +0 -72
- package/ui/Sprite.js +0 -60
- package/ui/Text.js +0 -115
- package/ui/Timerbar.js +0 -248
- package/ui/index.js +0 -15
- package/ui/interfaces/IButton.js +0 -1
- package/ui/interfaces/IDrawable.js +0 -1
- package/ui/interfaces/index.js +0 -1
- package/ui/menu/Menu.js +0 -831
- package/ui/menu/MenuControl.js +0 -12
- package/ui/menu/MenuControls.js +0 -9
- package/ui/menu/MenuSettings.js +0 -54
- package/ui/menu/index.js +0 -6
- package/ui/menu/items/UIMenuCheckboxItem.js +0 -59
- package/ui/menu/items/UIMenuItem.js +0 -1111
- package/ui/menu/items/UIMenuListItem.js +0 -119
- package/ui/menu/items/UIMenuSeparatorItem.js +0 -29
- package/ui/menu/items/UIMenuSliderItem.js +0 -191
- package/ui/menu/items/index.js +0 -6
- package/ui/menu/items/panels/AbstractUIMenuPanel.js +0 -44
- package/ui/menu/items/panels/UIMenuColorPanel.js +0 -217
- package/ui/menu/items/panels/UIMenuGridPanel.js +0 -261
- package/ui/menu/items/panels/UIMenuPercentagePanel.js +0 -124
- package/ui/menu/items/panels/UIMenuStatisticsPanel.js +0 -79
- package/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +0 -35
- package/ui/menu/items/panels/index.js +0 -6
- package/ui/menu/modules/ListItem.js +0 -10
- package/ui/menu/modules/index.js +0 -1
- package/utils/Animations.js +0 -55
- package/utils/Crypto.js +0 -25
- package/utils/LiteEvent.js +0 -19
- package/utils/Maths.js +0 -10
- package/utils/Point.js +0 -30
- package/utils/PointF.js +0 -14
- package/utils/Quaternion.js +0 -27
- package/utils/Size.js +0 -8
- package/utils/String.js +0 -25
- package/utils/enumValues.js +0 -14
- package/utils/index.js +0 -9
- package/weapon/DlcWeaponData.js +0 -44
- package/weapon/Mk2WeaponHash.js +0 -25
- package/weapon/Weapon.js +0 -270
- package/weapon/WeaponAsset.js +0 -84
- package/weapon/WeaponCollection.js +0 -187
- package/weapon/WeaponDisplayNameByHash.js +0 -75
- package/weapon/WeaponGroup.js +0 -19
- package/weapon/WeaponHudStats.js +0 -38
- package/weapon/WeaponLivery.js +0 -14
- package/weapon/WeaponLiveryColor.js +0 -35
- package/weapon/WeaponTint.js +0 -43
- package/weapon/index.js +0 -8
- package/weaponComponent/ComponentAttachmentPoint.js +0 -19
- package/weaponComponent/ComponentAttachmentPointByHash.js +0 -573
- package/weaponComponent/ComponentDisplayNameByHash.js +0 -280
- package/weaponComponent/DlcWeaponComponentData.js +0 -44
- package/weaponComponent/InvalidWeaponComponent.js +0 -28
- package/weaponComponent/WeaponComponent.js +0 -123
- package/weaponComponent/WeaponComponentCollection.js +0 -174
- package/weaponComponent/WeaponComponentHash.js +0 -887
- package/weaponComponent/WeaponComponentHashesByWeaponHash.js +0 -829
- package/weaponComponent/WeaponComponentHudStats.js +0 -34
- 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
|
-
}
|
package/ui/menu/items/index.js
DELETED
|
@@ -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
|
-
}
|