2785 lines
131 KiB
JavaScript

import { getCursorPos, setInterval, clearInterval, logWarning, emit, logError, clearTimeout, setTimeout, everyTick, getGxtText, showCursor } from 'alt-client';
import game__default, { requestScaleformMovie, hasScaleformMovieLoaded, beginScaleformMovieMethod, scaleformMovieMethodAddParamBool, scaleformMovieMethodAddParamPlayerNameString, scaleformMovieMethodAddParamFloat, scaleformMovieMethodAddParamInt, endScaleformMovieMethod, endScaleformMovieMethodReturnValue, drawScaleformMovieFullscreen, setScaleformMovieAsNoLongerNeeded } from 'natives';
var BadgeStyle;
(function (BadgeStyle) {
BadgeStyle[BadgeStyle["None"] = 0] = "None";
BadgeStyle[BadgeStyle["BronzeMedal"] = 1] = "BronzeMedal";
BadgeStyle[BadgeStyle["GoldMedal"] = 2] = "GoldMedal";
BadgeStyle[BadgeStyle["SilverMedal"] = 3] = "SilverMedal";
BadgeStyle[BadgeStyle["Alert"] = 4] = "Alert";
BadgeStyle[BadgeStyle["Crown"] = 5] = "Crown";
BadgeStyle[BadgeStyle["Ammo"] = 6] = "Ammo";
BadgeStyle[BadgeStyle["Armour"] = 7] = "Armour";
BadgeStyle[BadgeStyle["Barber"] = 8] = "Barber";
BadgeStyle[BadgeStyle["Clothes"] = 9] = "Clothes";
BadgeStyle[BadgeStyle["Franklin"] = 10] = "Franklin";
BadgeStyle[BadgeStyle["Bike"] = 11] = "Bike";
BadgeStyle[BadgeStyle["Car"] = 12] = "Car";
BadgeStyle[BadgeStyle["Gun"] = 13] = "Gun";
BadgeStyle[BadgeStyle["Heart"] = 14] = "Heart";
BadgeStyle[BadgeStyle["Makeup"] = 15] = "Makeup";
BadgeStyle[BadgeStyle["Mask"] = 16] = "Mask";
BadgeStyle[BadgeStyle["Michael"] = 17] = "Michael";
BadgeStyle[BadgeStyle["Star"] = 18] = "Star";
BadgeStyle[BadgeStyle["Tattoo"] = 19] = "Tattoo";
BadgeStyle[BadgeStyle["Trevor"] = 20] = "Trevor";
BadgeStyle[BadgeStyle["Lock"] = 21] = "Lock";
BadgeStyle[BadgeStyle["Tick"] = 22] = "Tick";
BadgeStyle[BadgeStyle["Sale"] = 23] = "Sale";
BadgeStyle[BadgeStyle["ArrowLeft"] = 24] = "ArrowLeft";
BadgeStyle[BadgeStyle["ArrowRight"] = 25] = "ArrowRight";
BadgeStyle[BadgeStyle["Audio1"] = 26] = "Audio1";
BadgeStyle[BadgeStyle["Audio2"] = 27] = "Audio2";
BadgeStyle[BadgeStyle["Audio3"] = 28] = "Audio3";
BadgeStyle[BadgeStyle["AudioInactive"] = 29] = "AudioInactive";
BadgeStyle[BadgeStyle["AudioMute"] = 30] = "AudioMute";
})(BadgeStyle || (BadgeStyle = {}));
var BadgeStyle$1 = BadgeStyle;
var Font;
(function (Font) {
Font[Font["ChaletLondon"] = 0] = "ChaletLondon";
Font[Font["HouseScript"] = 1] = "HouseScript";
Font[Font["Monospace"] = 2] = "Monospace";
Font[Font["CharletComprimeColonge"] = 4] = "CharletComprimeColonge";
Font[Font["Pricedown"] = 7] = "Pricedown";
})(Font || (Font = {}));
var Font$1 = Font;
var Alignment;
(function (Alignment) {
Alignment[Alignment["Left"] = 0] = "Left";
Alignment[Alignment["Centered"] = 1] = "Centered";
Alignment[Alignment["Right"] = 2] = "Right";
})(Alignment || (Alignment = {}));
var Alignment$1 = Alignment;
var Control;
(function (Control) {
Control[Control["NextCamera"] = 0] = "NextCamera";
Control[Control["LookLeftRight"] = 1] = "LookLeftRight";
Control[Control["LookUpDown"] = 2] = "LookUpDown";
Control[Control["LookUpOnly"] = 3] = "LookUpOnly";
Control[Control["LookDownOnly"] = 4] = "LookDownOnly";
Control[Control["LookLeftOnly"] = 5] = "LookLeftOnly";
Control[Control["LookRightOnly"] = 6] = "LookRightOnly";
Control[Control["CinematicSlowMo"] = 7] = "CinematicSlowMo";
Control[Control["FlyUpDown"] = 8] = "FlyUpDown";
Control[Control["FlyLeftRight"] = 9] = "FlyLeftRight";
Control[Control["ScriptedFlyZUp"] = 10] = "ScriptedFlyZUp";
Control[Control["ScriptedFlyZDown"] = 11] = "ScriptedFlyZDown";
Control[Control["WeaponWheelUpDown"] = 12] = "WeaponWheelUpDown";
Control[Control["WeaponWheelLeftRight"] = 13] = "WeaponWheelLeftRight";
Control[Control["WeaponWheelNext"] = 14] = "WeaponWheelNext";
Control[Control["WeaponWheelPrev"] = 15] = "WeaponWheelPrev";
Control[Control["SelectNextWeapon"] = 16] = "SelectNextWeapon";
Control[Control["SelectPrevWeapon"] = 17] = "SelectPrevWeapon";
Control[Control["SkipCutscene"] = 18] = "SkipCutscene";
Control[Control["CharacterWheel"] = 19] = "CharacterWheel";
Control[Control["MultiplayerInfo"] = 20] = "MultiplayerInfo";
Control[Control["Sprint"] = 21] = "Sprint";
Control[Control["Jump"] = 22] = "Jump";
Control[Control["Enter"] = 23] = "Enter";
Control[Control["Attack"] = 24] = "Attack";
Control[Control["Aim"] = 25] = "Aim";
Control[Control["LookBehind"] = 26] = "LookBehind";
Control[Control["Phone"] = 27] = "Phone";
Control[Control["SpecialAbility"] = 28] = "SpecialAbility";
Control[Control["SpecialAbilitySecondary"] = 29] = "SpecialAbilitySecondary";
Control[Control["MoveLeftRight"] = 30] = "MoveLeftRight";
Control[Control["MoveUpDown"] = 31] = "MoveUpDown";
Control[Control["MoveUpOnly"] = 32] = "MoveUpOnly";
Control[Control["MoveDownOnly"] = 33] = "MoveDownOnly";
Control[Control["MoveLeftOnly"] = 34] = "MoveLeftOnly";
Control[Control["MoveRightOnly"] = 35] = "MoveRightOnly";
Control[Control["Duck"] = 36] = "Duck";
Control[Control["SelectWeapon"] = 37] = "SelectWeapon";
Control[Control["Pickup"] = 38] = "Pickup";
Control[Control["SniperZoom"] = 39] = "SniperZoom";
Control[Control["SniperZoomInOnly"] = 40] = "SniperZoomInOnly";
Control[Control["SniperZoomOutOnly"] = 41] = "SniperZoomOutOnly";
Control[Control["SniperZoomInSecondary"] = 42] = "SniperZoomInSecondary";
Control[Control["SniperZoomOutSecondary"] = 43] = "SniperZoomOutSecondary";
Control[Control["Cover"] = 44] = "Cover";
Control[Control["Reload"] = 45] = "Reload";
Control[Control["Talk"] = 46] = "Talk";
Control[Control["Detonate"] = 47] = "Detonate";
Control[Control["HUDSpecial"] = 48] = "HUDSpecial";
Control[Control["Arrest"] = 49] = "Arrest";
Control[Control["AccurateAim"] = 50] = "AccurateAim";
Control[Control["Context"] = 51] = "Context";
Control[Control["ContextSecondary"] = 52] = "ContextSecondary";
Control[Control["WeaponSpecial"] = 53] = "WeaponSpecial";
Control[Control["WeaponSpecial2"] = 54] = "WeaponSpecial2";
Control[Control["Dive"] = 55] = "Dive";
Control[Control["DropWeapon"] = 56] = "DropWeapon";
Control[Control["DropAmmo"] = 57] = "DropAmmo";
Control[Control["ThrowGrenade"] = 58] = "ThrowGrenade";
Control[Control["VehicleMoveLeftRight"] = 59] = "VehicleMoveLeftRight";
Control[Control["VehicleMoveUpDown"] = 60] = "VehicleMoveUpDown";
Control[Control["VehicleMoveUpOnly"] = 61] = "VehicleMoveUpOnly";
Control[Control["VehicleMoveDownOnly"] = 62] = "VehicleMoveDownOnly";
Control[Control["VehicleMoveLeftOnly"] = 63] = "VehicleMoveLeftOnly";
Control[Control["VehicleMoveRightOnly"] = 64] = "VehicleMoveRightOnly";
Control[Control["VehicleSpecial"] = 65] = "VehicleSpecial";
Control[Control["VehicleGunLeftRight"] = 66] = "VehicleGunLeftRight";
Control[Control["VehicleGunUpDown"] = 67] = "VehicleGunUpDown";
Control[Control["VehicleAim"] = 68] = "VehicleAim";
Control[Control["VehicleAttack"] = 69] = "VehicleAttack";
Control[Control["VehicleAttack2"] = 70] = "VehicleAttack2";
Control[Control["VehicleAccelerate"] = 71] = "VehicleAccelerate";
Control[Control["VehicleBrake"] = 72] = "VehicleBrake";
Control[Control["VehicleDuck"] = 73] = "VehicleDuck";
Control[Control["VehicleHeadlight"] = 74] = "VehicleHeadlight";
Control[Control["VehicleExit"] = 75] = "VehicleExit";
Control[Control["VehicleHandbrake"] = 76] = "VehicleHandbrake";
Control[Control["VehicleHotwireLeft"] = 77] = "VehicleHotwireLeft";
Control[Control["VehicleHotwireRight"] = 78] = "VehicleHotwireRight";
Control[Control["VehicleLookBehind"] = 79] = "VehicleLookBehind";
Control[Control["VehicleCinCam"] = 80] = "VehicleCinCam";
Control[Control["VehicleNextRadio"] = 81] = "VehicleNextRadio";
Control[Control["VehiclePrevRadio"] = 82] = "VehiclePrevRadio";
Control[Control["VehicleNextRadioTrack"] = 83] = "VehicleNextRadioTrack";
Control[Control["VehiclePrevRadioTrack"] = 84] = "VehiclePrevRadioTrack";
Control[Control["VehicleRadioWheel"] = 85] = "VehicleRadioWheel";
Control[Control["VehicleHorn"] = 86] = "VehicleHorn";
Control[Control["VehicleFlyThrottleUp"] = 87] = "VehicleFlyThrottleUp";
Control[Control["VehicleFlyThrottleDown"] = 88] = "VehicleFlyThrottleDown";
Control[Control["VehicleFlyYawLeft"] = 89] = "VehicleFlyYawLeft";
Control[Control["VehicleFlyYawRight"] = 90] = "VehicleFlyYawRight";
Control[Control["VehiclePassengerAim"] = 91] = "VehiclePassengerAim";
Control[Control["VehiclePassengerAttack"] = 92] = "VehiclePassengerAttack";
Control[Control["VehicleSpecialAbilityFranklin"] = 93] = "VehicleSpecialAbilityFranklin";
Control[Control["VehicleStuntUpDown"] = 94] = "VehicleStuntUpDown";
Control[Control["VehicleCinematicUpDown"] = 95] = "VehicleCinematicUpDown";
Control[Control["VehicleCinematicUpOnly"] = 96] = "VehicleCinematicUpOnly";
Control[Control["VehicleCinematicDownOnly"] = 97] = "VehicleCinematicDownOnly";
Control[Control["VehicleCinematicLeftRight"] = 98] = "VehicleCinematicLeftRight";
Control[Control["VehicleSelectNextWeapon"] = 99] = "VehicleSelectNextWeapon";
Control[Control["VehicleSelectPrevWeapon"] = 100] = "VehicleSelectPrevWeapon";
Control[Control["VehicleRoof"] = 101] = "VehicleRoof";
Control[Control["VehicleJump"] = 102] = "VehicleJump";
Control[Control["VehicleGrapplingHook"] = 103] = "VehicleGrapplingHook";
Control[Control["VehicleShuffle"] = 104] = "VehicleShuffle";
Control[Control["VehicleDropProjectile"] = 105] = "VehicleDropProjectile";
Control[Control["VehicleMouseControlOverride"] = 106] = "VehicleMouseControlOverride";
Control[Control["VehicleFlyRollLeftRight"] = 107] = "VehicleFlyRollLeftRight";
Control[Control["VehicleFlyRollLeftOnly"] = 108] = "VehicleFlyRollLeftOnly";
Control[Control["VehicleFlyRollRightOnly"] = 109] = "VehicleFlyRollRightOnly";
Control[Control["VehicleFlyPitchUpDown"] = 110] = "VehicleFlyPitchUpDown";
Control[Control["VehicleFlyPitchUpOnly"] = 111] = "VehicleFlyPitchUpOnly";
Control[Control["VehicleFlyPitchDownOnly"] = 112] = "VehicleFlyPitchDownOnly";
Control[Control["VehicleFlyUnderCarriage"] = 113] = "VehicleFlyUnderCarriage";
Control[Control["VehicleFlyAttack"] = 114] = "VehicleFlyAttack";
Control[Control["VehicleFlySelectNextWeapon"] = 115] = "VehicleFlySelectNextWeapon";
Control[Control["VehicleFlySelectPrevWeapon"] = 116] = "VehicleFlySelectPrevWeapon";
Control[Control["VehicleFlySelectTargetLeft"] = 117] = "VehicleFlySelectTargetLeft";
Control[Control["VehicleFlySelectTargetRight"] = 118] = "VehicleFlySelectTargetRight";
Control[Control["VehicleFlyVerticalFlightMode"] = 119] = "VehicleFlyVerticalFlightMode";
Control[Control["VehicleFlyDuck"] = 120] = "VehicleFlyDuck";
Control[Control["VehicleFlyAttackCamera"] = 121] = "VehicleFlyAttackCamera";
Control[Control["VehicleFlyMouseControlOverride"] = 122] = "VehicleFlyMouseControlOverride";
Control[Control["VehicleSubTurnLeftRight"] = 123] = "VehicleSubTurnLeftRight";
Control[Control["VehicleSubTurnLeftOnly"] = 124] = "VehicleSubTurnLeftOnly";
Control[Control["VehicleSubTurnRightOnly"] = 125] = "VehicleSubTurnRightOnly";
Control[Control["VehicleSubPitchUpDown"] = 126] = "VehicleSubPitchUpDown";
Control[Control["VehicleSubPitchUpOnly"] = 127] = "VehicleSubPitchUpOnly";
Control[Control["VehicleSubPitchDownOnly"] = 128] = "VehicleSubPitchDownOnly";
Control[Control["VehicleSubThrottleUp"] = 129] = "VehicleSubThrottleUp";
Control[Control["VehicleSubThrottleDown"] = 130] = "VehicleSubThrottleDown";
Control[Control["VehicleSubAscend"] = 131] = "VehicleSubAscend";
Control[Control["VehicleSubDescend"] = 132] = "VehicleSubDescend";
Control[Control["VehicleSubTurnHardLeft"] = 133] = "VehicleSubTurnHardLeft";
Control[Control["VehicleSubTurnHardRight"] = 134] = "VehicleSubTurnHardRight";
Control[Control["VehicleSubMouseControlOverride"] = 135] = "VehicleSubMouseControlOverride";
Control[Control["VehiclePushbikePedal"] = 136] = "VehiclePushbikePedal";
Control[Control["VehiclePushbikeSprint"] = 137] = "VehiclePushbikeSprint";
Control[Control["VehiclePushbikeFrontBrake"] = 138] = "VehiclePushbikeFrontBrake";
Control[Control["VehiclePushbikeRearBrake"] = 139] = "VehiclePushbikeRearBrake";
Control[Control["MeleeAttackLight"] = 140] = "MeleeAttackLight";
Control[Control["MeleeAttackHeavy"] = 141] = "MeleeAttackHeavy";
Control[Control["MeleeAttackAlternate"] = 142] = "MeleeAttackAlternate";
Control[Control["MeleeBlock"] = 143] = "MeleeBlock";
Control[Control["ParachuteDeploy"] = 144] = "ParachuteDeploy";
Control[Control["ParachuteDetach"] = 145] = "ParachuteDetach";
Control[Control["ParachuteTurnLeftRight"] = 146] = "ParachuteTurnLeftRight";
Control[Control["ParachuteTurnLeftOnly"] = 147] = "ParachuteTurnLeftOnly";
Control[Control["ParachuteTurnRightOnly"] = 148] = "ParachuteTurnRightOnly";
Control[Control["ParachutePitchUpDown"] = 149] = "ParachutePitchUpDown";
Control[Control["ParachutePitchUpOnly"] = 150] = "ParachutePitchUpOnly";
Control[Control["ParachutePitchDownOnly"] = 151] = "ParachutePitchDownOnly";
Control[Control["ParachuteBrakeLeft"] = 152] = "ParachuteBrakeLeft";
Control[Control["ParachuteBrakeRight"] = 153] = "ParachuteBrakeRight";
Control[Control["ParachuteSmoke"] = 154] = "ParachuteSmoke";
Control[Control["ParachutePrecisionLanding"] = 155] = "ParachutePrecisionLanding";
Control[Control["Map"] = 156] = "Map";
Control[Control["SelectWeaponUnarmed"] = 157] = "SelectWeaponUnarmed";
Control[Control["SelectWeaponMelee"] = 158] = "SelectWeaponMelee";
Control[Control["SelectWeaponHandgun"] = 159] = "SelectWeaponHandgun";
Control[Control["SelectWeaponShotgun"] = 160] = "SelectWeaponShotgun";
Control[Control["SelectWeaponSmg"] = 161] = "SelectWeaponSmg";
Control[Control["SelectWeaponAutoRifle"] = 162] = "SelectWeaponAutoRifle";
Control[Control["SelectWeaponSniper"] = 163] = "SelectWeaponSniper";
Control[Control["SelectWeaponHeavy"] = 164] = "SelectWeaponHeavy";
Control[Control["SelectWeaponSpecial"] = 165] = "SelectWeaponSpecial";
Control[Control["SelectCharacterMichael"] = 166] = "SelectCharacterMichael";
Control[Control["SelectCharacterFranklin"] = 167] = "SelectCharacterFranklin";
Control[Control["SelectCharacterTrevor"] = 168] = "SelectCharacterTrevor";
Control[Control["SelectCharacterMultiplayer"] = 169] = "SelectCharacterMultiplayer";
Control[Control["SaveReplayClip"] = 170] = "SaveReplayClip";
Control[Control["SpecialAbilityPC"] = 171] = "SpecialAbilityPC";
Control[Control["PhoneUp"] = 172] = "PhoneUp";
Control[Control["PhoneDown"] = 173] = "PhoneDown";
Control[Control["PhoneLeft"] = 174] = "PhoneLeft";
Control[Control["PhoneRight"] = 175] = "PhoneRight";
Control[Control["PhoneSelect"] = 176] = "PhoneSelect";
Control[Control["PhoneCancel"] = 177] = "PhoneCancel";
Control[Control["PhoneOption"] = 178] = "PhoneOption";
Control[Control["PhoneExtraOption"] = 179] = "PhoneExtraOption";
Control[Control["PhoneScrollForward"] = 180] = "PhoneScrollForward";
Control[Control["PhoneScrollBackward"] = 181] = "PhoneScrollBackward";
Control[Control["PhoneCameraFocusLock"] = 182] = "PhoneCameraFocusLock";
Control[Control["PhoneCameraGrid"] = 183] = "PhoneCameraGrid";
Control[Control["PhoneCameraSelfie"] = 184] = "PhoneCameraSelfie";
Control[Control["PhoneCameraDOF"] = 185] = "PhoneCameraDOF";
Control[Control["PhoneCameraExpression"] = 186] = "PhoneCameraExpression";
Control[Control["FrontendDown"] = 187] = "FrontendDown";
Control[Control["FrontendUp"] = 188] = "FrontendUp";
Control[Control["FrontendLeft"] = 189] = "FrontendLeft";
Control[Control["FrontendRight"] = 190] = "FrontendRight";
Control[Control["FrontendRdown"] = 191] = "FrontendRdown";
Control[Control["FrontendRup"] = 192] = "FrontendRup";
Control[Control["FrontendRleft"] = 193] = "FrontendRleft";
Control[Control["FrontendRright"] = 194] = "FrontendRright";
Control[Control["FrontendAxisX"] = 195] = "FrontendAxisX";
Control[Control["FrontendAxisY"] = 196] = "FrontendAxisY";
Control[Control["FrontendRightAxisX"] = 197] = "FrontendRightAxisX";
Control[Control["FrontendRightAxisY"] = 198] = "FrontendRightAxisY";
Control[Control["FrontendPause"] = 199] = "FrontendPause";
Control[Control["FrontendPauseAlternate"] = 200] = "FrontendPauseAlternate";
Control[Control["FrontendAccept"] = 201] = "FrontendAccept";
Control[Control["FrontendCancel"] = 202] = "FrontendCancel";
Control[Control["FrontendX"] = 203] = "FrontendX";
Control[Control["FrontendY"] = 204] = "FrontendY";
Control[Control["FrontendLb"] = 205] = "FrontendLb";
Control[Control["FrontendRb"] = 206] = "FrontendRb";
Control[Control["FrontendLt"] = 207] = "FrontendLt";
Control[Control["FrontendRt"] = 208] = "FrontendRt";
Control[Control["FrontendLs"] = 209] = "FrontendLs";
Control[Control["FrontendRs"] = 210] = "FrontendRs";
Control[Control["FrontendLeaderboard"] = 211] = "FrontendLeaderboard";
Control[Control["FrontendSocialClub"] = 212] = "FrontendSocialClub";
Control[Control["FrontendSocialClubSecondary"] = 213] = "FrontendSocialClubSecondary";
Control[Control["FrontendDelete"] = 214] = "FrontendDelete";
Control[Control["FrontendEndscreenAccept"] = 215] = "FrontendEndscreenAccept";
Control[Control["FrontendEndscreenExpand"] = 216] = "FrontendEndscreenExpand";
Control[Control["FrontendSelect"] = 217] = "FrontendSelect";
Control[Control["ScriptLeftAxisX"] = 218] = "ScriptLeftAxisX";
Control[Control["ScriptLeftAxisY"] = 219] = "ScriptLeftAxisY";
Control[Control["ScriptRightAxisX"] = 220] = "ScriptRightAxisX";
Control[Control["ScriptRightAxisY"] = 221] = "ScriptRightAxisY";
Control[Control["ScriptRUp"] = 222] = "ScriptRUp";
Control[Control["ScriptRDown"] = 223] = "ScriptRDown";
Control[Control["ScriptRLeft"] = 224] = "ScriptRLeft";
Control[Control["ScriptRRight"] = 225] = "ScriptRRight";
Control[Control["ScriptLB"] = 226] = "ScriptLB";
Control[Control["ScriptRB"] = 227] = "ScriptRB";
Control[Control["ScriptLT"] = 228] = "ScriptLT";
Control[Control["ScriptRT"] = 229] = "ScriptRT";
Control[Control["ScriptLS"] = 230] = "ScriptLS";
Control[Control["ScriptRS"] = 231] = "ScriptRS";
Control[Control["ScriptPadUp"] = 232] = "ScriptPadUp";
Control[Control["ScriptPadDown"] = 233] = "ScriptPadDown";
Control[Control["ScriptPadLeft"] = 234] = "ScriptPadLeft";
Control[Control["ScriptPadRight"] = 235] = "ScriptPadRight";
Control[Control["ScriptSelect"] = 236] = "ScriptSelect";
Control[Control["CursorAccept"] = 237] = "CursorAccept";
Control[Control["CursorCancel"] = 238] = "CursorCancel";
Control[Control["CursorX"] = 239] = "CursorX";
Control[Control["CursorY"] = 240] = "CursorY";
Control[Control["CursorScrollUp"] = 241] = "CursorScrollUp";
Control[Control["CursorScrollDown"] = 242] = "CursorScrollDown";
Control[Control["EnterCheatCode"] = 243] = "EnterCheatCode";
Control[Control["InteractionMenu"] = 244] = "InteractionMenu";
Control[Control["MpTextChatAll"] = 245] = "MpTextChatAll";
Control[Control["MpTextChatTeam"] = 246] = "MpTextChatTeam";
Control[Control["MpTextChatFriends"] = 247] = "MpTextChatFriends";
Control[Control["MpTextChatCrew"] = 248] = "MpTextChatCrew";
Control[Control["PushToTalk"] = 249] = "PushToTalk";
Control[Control["CreatorLS"] = 250] = "CreatorLS";
Control[Control["CreatorRS"] = 251] = "CreatorRS";
Control[Control["CreatorLT"] = 252] = "CreatorLT";
Control[Control["CreatorRT"] = 253] = "CreatorRT";
Control[Control["CreatorMenuToggle"] = 254] = "CreatorMenuToggle";
Control[Control["CreatorAccept"] = 255] = "CreatorAccept";
Control[Control["CreatorDelete"] = 256] = "CreatorDelete";
Control[Control["Attack2"] = 257] = "Attack2";
Control[Control["RappelJump"] = 258] = "RappelJump";
Control[Control["RappelLongJump"] = 259] = "RappelLongJump";
Control[Control["RappelSmashWindow"] = 260] = "RappelSmashWindow";
Control[Control["PrevWeapon"] = 261] = "PrevWeapon";
Control[Control["NextWeapon"] = 262] = "NextWeapon";
Control[Control["MeleeAttack1"] = 263] = "MeleeAttack1";
Control[Control["MeleeAttack2"] = 264] = "MeleeAttack2";
Control[Control["Whistle"] = 265] = "Whistle";
Control[Control["MoveLeft"] = 266] = "MoveLeft";
Control[Control["MoveRight"] = 267] = "MoveRight";
Control[Control["MoveUp"] = 268] = "MoveUp";
Control[Control["MoveDown"] = 269] = "MoveDown";
Control[Control["LookLeft"] = 270] = "LookLeft";
Control[Control["LookRight"] = 271] = "LookRight";
Control[Control["LookUp"] = 272] = "LookUp";
Control[Control["LookDown"] = 273] = "LookDown";
Control[Control["SniperZoomIn"] = 274] = "SniperZoomIn";
Control[Control["SniperZoomOut"] = 275] = "SniperZoomOut";
Control[Control["SniperZoomInAlternate"] = 276] = "SniperZoomInAlternate";
Control[Control["SniperZoomOutAlternate"] = 277] = "SniperZoomOutAlternate";
Control[Control["VehicleMoveLeft"] = 278] = "VehicleMoveLeft";
Control[Control["VehicleMoveRight"] = 279] = "VehicleMoveRight";
Control[Control["VehicleMoveUp"] = 280] = "VehicleMoveUp";
Control[Control["VehicleMoveDown"] = 281] = "VehicleMoveDown";
Control[Control["VehicleGunLeft"] = 282] = "VehicleGunLeft";
Control[Control["VehicleGunRight"] = 283] = "VehicleGunRight";
Control[Control["VehicleGunUp"] = 284] = "VehicleGunUp";
Control[Control["VehicleGunDown"] = 285] = "VehicleGunDown";
Control[Control["VehicleLookLeft"] = 286] = "VehicleLookLeft";
Control[Control["VehicleLookRight"] = 287] = "VehicleLookRight";
Control[Control["ReplayStartStopRecording"] = 288] = "ReplayStartStopRecording";
Control[Control["ReplayStartStopRecordingSecondary"] = 289] = "ReplayStartStopRecordingSecondary";
Control[Control["ScaledLookLeftRight"] = 290] = "ScaledLookLeftRight";
Control[Control["ScaledLookUpDown"] = 291] = "ScaledLookUpDown";
Control[Control["ScaledLookUpOnly"] = 292] = "ScaledLookUpOnly";
Control[Control["ScaledLookDownOnly"] = 293] = "ScaledLookDownOnly";
Control[Control["ScaledLookLeftOnly"] = 294] = "ScaledLookLeftOnly";
Control[Control["ScaledLookRightOnly"] = 295] = "ScaledLookRightOnly";
Control[Control["ReplayMarkerDelete"] = 296] = "ReplayMarkerDelete";
Control[Control["ReplayClipDelete"] = 297] = "ReplayClipDelete";
Control[Control["ReplayPause"] = 298] = "ReplayPause";
Control[Control["ReplayRewind"] = 299] = "ReplayRewind";
Control[Control["ReplayFfwd"] = 300] = "ReplayFfwd";
Control[Control["ReplayNewmarker"] = 301] = "ReplayNewmarker";
Control[Control["ReplayRecord"] = 302] = "ReplayRecord";
Control[Control["ReplayScreenshot"] = 303] = "ReplayScreenshot";
Control[Control["ReplayHidehud"] = 304] = "ReplayHidehud";
Control[Control["ReplayStartpoint"] = 305] = "ReplayStartpoint";
Control[Control["ReplayEndpoint"] = 306] = "ReplayEndpoint";
Control[Control["ReplayAdvance"] = 307] = "ReplayAdvance";
Control[Control["ReplayBack"] = 308] = "ReplayBack";
Control[Control["ReplayTools"] = 309] = "ReplayTools";
Control[Control["ReplayRestart"] = 310] = "ReplayRestart";
Control[Control["ReplayShowhotkey"] = 311] = "ReplayShowhotkey";
Control[Control["ReplayCycleMarkerLeft"] = 312] = "ReplayCycleMarkerLeft";
Control[Control["ReplayCycleMarkerRight"] = 313] = "ReplayCycleMarkerRight";
Control[Control["ReplayFOVIncrease"] = 314] = "ReplayFOVIncrease";
Control[Control["ReplayFOVDecrease"] = 315] = "ReplayFOVDecrease";
Control[Control["ReplayCameraUp"] = 316] = "ReplayCameraUp";
Control[Control["ReplayCameraDown"] = 317] = "ReplayCameraDown";
Control[Control["ReplaySave"] = 318] = "ReplaySave";
Control[Control["ReplayToggletime"] = 319] = "ReplayToggletime";
Control[Control["ReplayToggletips"] = 320] = "ReplayToggletips";
Control[Control["ReplayPreview"] = 321] = "ReplayPreview";
Control[Control["ReplayToggleTimeline"] = 322] = "ReplayToggleTimeline";
Control[Control["ReplayTimelinePickupClip"] = 323] = "ReplayTimelinePickupClip";
Control[Control["ReplayTimelineDuplicateClip"] = 324] = "ReplayTimelineDuplicateClip";
Control[Control["ReplayTimelinePlaceClip"] = 325] = "ReplayTimelinePlaceClip";
Control[Control["ReplayCtrl"] = 326] = "ReplayCtrl";
Control[Control["ReplayTimelineSave"] = 327] = "ReplayTimelineSave";
Control[Control["ReplayPreviewAudio"] = 328] = "ReplayPreviewAudio";
Control[Control["VehicleDriveLook"] = 329] = "VehicleDriveLook";
Control[Control["VehicleDriveLook2"] = 330] = "VehicleDriveLook2";
Control[Control["VehicleFlyAttack2"] = 331] = "VehicleFlyAttack2";
Control[Control["RadioWheelUpDown"] = 332] = "RadioWheelUpDown";
Control[Control["RadioWheelLeftRight"] = 333] = "RadioWheelLeftRight";
Control[Control["VehicleSlowMoUpDown"] = 334] = "VehicleSlowMoUpDown";
Control[Control["VehicleSlowMoUpOnly"] = 335] = "VehicleSlowMoUpOnly";
Control[Control["VehicleSlowMoDownOnly"] = 336] = "VehicleSlowMoDownOnly";
Control[Control["MapPointOfInterest"] = 337] = "MapPointOfInterest";
Control[Control["ReplaySnapmaticPhoto"] = 338] = "ReplaySnapmaticPhoto";
Control[Control["VehicleCarJump"] = 339] = "VehicleCarJump";
Control[Control["VehicleRocketBoost"] = 340] = "VehicleRocketBoost";
Control[Control["VehicleParachute"] = 341] = "VehicleParachute";
Control[Control["VehicleBikeWings"] = 342] = "VehicleBikeWings";
Control[Control["VehicleFlyBombBay"] = 343] = "VehicleFlyBombBay";
Control[Control["VehicleFlyCounter"] = 344] = "VehicleFlyCounter";
Control[Control["VehicleFlyTransform"] = 345] = "VehicleFlyTransform";
})(Control || (Control = {}));
var Control$1 = Control;
var HudColor;
(function (HudColor) {
HudColor[HudColor["HUD_COLOUR_PURE_WHITE"] = 0] = "HUD_COLOUR_PURE_WHITE";
HudColor[HudColor["HUD_COLOUR_WHITE"] = 1] = "HUD_COLOUR_WHITE";
HudColor[HudColor["HUD_COLOUR_BLACK"] = 2] = "HUD_COLOUR_BLACK";
HudColor[HudColor["HUD_COLOUR_GREY"] = 3] = "HUD_COLOUR_GREY";
HudColor[HudColor["HUD_COLOUR_GREYLIGHT"] = 4] = "HUD_COLOUR_GREYLIGHT";
HudColor[HudColor["HUD_COLOUR_GREYDARK"] = 5] = "HUD_COLOUR_GREYDARK";
HudColor[HudColor["HUD_COLOUR_RED"] = 6] = "HUD_COLOUR_RED";
HudColor[HudColor["HUD_COLOUR_REDLIGHT"] = 7] = "HUD_COLOUR_REDLIGHT";
HudColor[HudColor["HUD_COLOUR_REDDARK"] = 8] = "HUD_COLOUR_REDDARK";
HudColor[HudColor["HUD_COLOUR_BLUE"] = 9] = "HUD_COLOUR_BLUE";
HudColor[HudColor["HUD_COLOUR_BLUELIGHT"] = 10] = "HUD_COLOUR_BLUELIGHT";
HudColor[HudColor["HUD_COLOUR_BLUEDARK"] = 11] = "HUD_COLOUR_BLUEDARK";
HudColor[HudColor["HUD_COLOUR_YELLOW"] = 12] = "HUD_COLOUR_YELLOW";
HudColor[HudColor["HUD_COLOUR_YELLOWLIGHT"] = 13] = "HUD_COLOUR_YELLOWLIGHT";
HudColor[HudColor["HUD_COLOUR_YELLOWDARK"] = 14] = "HUD_COLOUR_YELLOWDARK";
HudColor[HudColor["HUD_COLOUR_ORANGE"] = 15] = "HUD_COLOUR_ORANGE";
HudColor[HudColor["HUD_COLOUR_ORANGELIGHT"] = 16] = "HUD_COLOUR_ORANGELIGHT";
HudColor[HudColor["HUD_COLOUR_ORANGEDARK"] = 17] = "HUD_COLOUR_ORANGEDARK";
HudColor[HudColor["HUD_COLOUR_GREEN"] = 18] = "HUD_COLOUR_GREEN";
HudColor[HudColor["HUD_COLOUR_GREENLIGHT"] = 19] = "HUD_COLOUR_GREENLIGHT";
HudColor[HudColor["HUD_COLOUR_GREENDARK"] = 20] = "HUD_COLOUR_GREENDARK";
HudColor[HudColor["HUD_COLOUR_PURPLE"] = 21] = "HUD_COLOUR_PURPLE";
HudColor[HudColor["HUD_COLOUR_PURPLELIGHT"] = 22] = "HUD_COLOUR_PURPLELIGHT";
HudColor[HudColor["HUD_COLOUR_PURPLEDARK"] = 23] = "HUD_COLOUR_PURPLEDARK";
HudColor[HudColor["HUD_COLOUR_PINK"] = 24] = "HUD_COLOUR_PINK";
HudColor[HudColor["HUD_COLOUR_RADAR_HEALTH"] = 25] = "HUD_COLOUR_RADAR_HEALTH";
HudColor[HudColor["HUD_COLOUR_RADAR_ARMOUR"] = 26] = "HUD_COLOUR_RADAR_ARMOUR";
HudColor[HudColor["HUD_COLOUR_RADAR_DAMAGE"] = 27] = "HUD_COLOUR_RADAR_DAMAGE";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER1"] = 28] = "HUD_COLOUR_NET_PLAYER1";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER2"] = 29] = "HUD_COLOUR_NET_PLAYER2";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER3"] = 30] = "HUD_COLOUR_NET_PLAYER3";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER4"] = 31] = "HUD_COLOUR_NET_PLAYER4";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER5"] = 32] = "HUD_COLOUR_NET_PLAYER5";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER6"] = 33] = "HUD_COLOUR_NET_PLAYER6";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER7"] = 34] = "HUD_COLOUR_NET_PLAYER7";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER8"] = 35] = "HUD_COLOUR_NET_PLAYER8";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER9"] = 36] = "HUD_COLOUR_NET_PLAYER9";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER10"] = 37] = "HUD_COLOUR_NET_PLAYER10";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER11"] = 38] = "HUD_COLOUR_NET_PLAYER11";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER12"] = 39] = "HUD_COLOUR_NET_PLAYER12";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER13"] = 40] = "HUD_COLOUR_NET_PLAYER13";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER14"] = 41] = "HUD_COLOUR_NET_PLAYER14";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER15"] = 42] = "HUD_COLOUR_NET_PLAYER15";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER16"] = 43] = "HUD_COLOUR_NET_PLAYER16";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER17"] = 44] = "HUD_COLOUR_NET_PLAYER17";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER18"] = 45] = "HUD_COLOUR_NET_PLAYER18";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER19"] = 46] = "HUD_COLOUR_NET_PLAYER19";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER20"] = 47] = "HUD_COLOUR_NET_PLAYER20";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER21"] = 48] = "HUD_COLOUR_NET_PLAYER21";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER22"] = 49] = "HUD_COLOUR_NET_PLAYER22";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER23"] = 50] = "HUD_COLOUR_NET_PLAYER23";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER24"] = 51] = "HUD_COLOUR_NET_PLAYER24";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER25"] = 52] = "HUD_COLOUR_NET_PLAYER25";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER26"] = 53] = "HUD_COLOUR_NET_PLAYER26";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER27"] = 54] = "HUD_COLOUR_NET_PLAYER27";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER28"] = 55] = "HUD_COLOUR_NET_PLAYER28";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER29"] = 56] = "HUD_COLOUR_NET_PLAYER29";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER30"] = 57] = "HUD_COLOUR_NET_PLAYER30";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER31"] = 58] = "HUD_COLOUR_NET_PLAYER31";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER32"] = 59] = "HUD_COLOUR_NET_PLAYER32";
HudColor[HudColor["HUD_COLOUR_SIMPLEBLIP_DEFAULT"] = 60] = "HUD_COLOUR_SIMPLEBLIP_DEFAULT";
HudColor[HudColor["HUD_COLOUR_MENU_BLUE"] = 61] = "HUD_COLOUR_MENU_BLUE";
HudColor[HudColor["HUD_COLOUR_MENU_GREY_LIGHT"] = 62] = "HUD_COLOUR_MENU_GREY_LIGHT";
HudColor[HudColor["HUD_COLOUR_MENU_BLUE_EXTRA_DARK"] = 63] = "HUD_COLOUR_MENU_BLUE_EXTRA_DARK";
HudColor[HudColor["HUD_COLOUR_MENU_YELLOW"] = 64] = "HUD_COLOUR_MENU_YELLOW";
HudColor[HudColor["HUD_COLOUR_MENU_YELLOW_DARK"] = 65] = "HUD_COLOUR_MENU_YELLOW_DARK";
HudColor[HudColor["HUD_COLOUR_MENU_GREEN"] = 66] = "HUD_COLOUR_MENU_GREEN";
HudColor[HudColor["HUD_COLOUR_MENU_GREY"] = 67] = "HUD_COLOUR_MENU_GREY";
HudColor[HudColor["HUD_COLOUR_MENU_GREY_DARK"] = 68] = "HUD_COLOUR_MENU_GREY_DARK";
HudColor[HudColor["HUD_COLOUR_MENU_HIGHLIGHT"] = 69] = "HUD_COLOUR_MENU_HIGHLIGHT";
HudColor[HudColor["HUD_COLOUR_MENU_STANDARD"] = 70] = "HUD_COLOUR_MENU_STANDARD";
HudColor[HudColor["HUD_COLOUR_MENU_DIMMED"] = 71] = "HUD_COLOUR_MENU_DIMMED";
HudColor[HudColor["HUD_COLOUR_MENU_EXTRA_DIMMED"] = 72] = "HUD_COLOUR_MENU_EXTRA_DIMMED";
HudColor[HudColor["HUD_COLOUR_BRIEF_TITLE"] = 73] = "HUD_COLOUR_BRIEF_TITLE";
HudColor[HudColor["HUD_COLOUR_MID_GREY_MP"] = 74] = "HUD_COLOUR_MID_GREY_MP";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER1_DARK"] = 75] = "HUD_COLOUR_NET_PLAYER1_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER2_DARK"] = 76] = "HUD_COLOUR_NET_PLAYER2_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER3_DARK"] = 77] = "HUD_COLOUR_NET_PLAYER3_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER4_DARK"] = 78] = "HUD_COLOUR_NET_PLAYER4_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER5_DARK"] = 79] = "HUD_COLOUR_NET_PLAYER5_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER6_DARK"] = 80] = "HUD_COLOUR_NET_PLAYER6_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER7_DARK"] = 81] = "HUD_COLOUR_NET_PLAYER7_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER8_DARK"] = 82] = "HUD_COLOUR_NET_PLAYER8_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER9_DARK"] = 83] = "HUD_COLOUR_NET_PLAYER9_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER10_DARK"] = 84] = "HUD_COLOUR_NET_PLAYER10_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER11_DARK"] = 85] = "HUD_COLOUR_NET_PLAYER11_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER12_DARK"] = 86] = "HUD_COLOUR_NET_PLAYER12_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER13_DARK"] = 87] = "HUD_COLOUR_NET_PLAYER13_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER14_DARK"] = 88] = "HUD_COLOUR_NET_PLAYER14_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER15_DARK"] = 89] = "HUD_COLOUR_NET_PLAYER15_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER16_DARK"] = 90] = "HUD_COLOUR_NET_PLAYER16_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER17_DARK"] = 91] = "HUD_COLOUR_NET_PLAYER17_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER18_DARK"] = 92] = "HUD_COLOUR_NET_PLAYER18_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER19_DARK"] = 93] = "HUD_COLOUR_NET_PLAYER19_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER20_DARK"] = 94] = "HUD_COLOUR_NET_PLAYER20_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER21_DARK"] = 95] = "HUD_COLOUR_NET_PLAYER21_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER22_DARK"] = 96] = "HUD_COLOUR_NET_PLAYER22_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER23_DARK"] = 97] = "HUD_COLOUR_NET_PLAYER23_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER24_DARK"] = 98] = "HUD_COLOUR_NET_PLAYER24_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER25_DARK"] = 99] = "HUD_COLOUR_NET_PLAYER25_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER26_DARK"] = 100] = "HUD_COLOUR_NET_PLAYER26_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER27_DARK"] = 101] = "HUD_COLOUR_NET_PLAYER27_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER28_DARK"] = 102] = "HUD_COLOUR_NET_PLAYER28_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER29_DARK"] = 103] = "HUD_COLOUR_NET_PLAYER29_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER30_DARK"] = 104] = "HUD_COLOUR_NET_PLAYER30_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER31_DARK"] = 105] = "HUD_COLOUR_NET_PLAYER31_DARK";
HudColor[HudColor["HUD_COLOUR_NET_PLAYER32_DARK"] = 106] = "HUD_COLOUR_NET_PLAYER32_DARK";
HudColor[HudColor["HUD_COLOUR_BRONZE"] = 107] = "HUD_COLOUR_BRONZE";
HudColor[HudColor["HUD_COLOUR_SILVER"] = 108] = "HUD_COLOUR_SILVER";
HudColor[HudColor["HUD_COLOUR_GOLD"] = 109] = "HUD_COLOUR_GOLD";
HudColor[HudColor["HUD_COLOUR_PLATINUM"] = 110] = "HUD_COLOUR_PLATINUM";
HudColor[HudColor["HUD_COLOUR_GANG1"] = 111] = "HUD_COLOUR_GANG1";
HudColor[HudColor["HUD_COLOUR_GANG2"] = 112] = "HUD_COLOUR_GANG2";
HudColor[HudColor["HUD_COLOUR_GANG3"] = 113] = "HUD_COLOUR_GANG3";
HudColor[HudColor["HUD_COLOUR_GANG4"] = 114] = "HUD_COLOUR_GANG4";
HudColor[HudColor["HUD_COLOUR_SAME_CREW"] = 115] = "HUD_COLOUR_SAME_CREW";
HudColor[HudColor["HUD_COLOUR_FREEMODE"] = 116] = "HUD_COLOUR_FREEMODE";
HudColor[HudColor["HUD_COLOUR_PAUSE_BG"] = 117] = "HUD_COLOUR_PAUSE_BG";
HudColor[HudColor["HUD_COLOUR_FRIENDLY"] = 118] = "HUD_COLOUR_FRIENDLY";
HudColor[HudColor["HUD_COLOUR_ENEMY"] = 119] = "HUD_COLOUR_ENEMY";
HudColor[HudColor["HUD_COLOUR_LOCATION"] = 120] = "HUD_COLOUR_LOCATION";
HudColor[HudColor["HUD_COLOUR_PICKUP"] = 121] = "HUD_COLOUR_PICKUP";
HudColor[HudColor["HUD_COLOUR_PAUSE_SINGLEPLAYER"] = 122] = "HUD_COLOUR_PAUSE_SINGLEPLAYER";
HudColor[HudColor["HUD_COLOUR_FREEMODE_DARK"] = 123] = "HUD_COLOUR_FREEMODE_DARK";
HudColor[HudColor["HUD_COLOUR_INACTIVE_MISSION"] = 124] = "HUD_COLOUR_INACTIVE_MISSION";
HudColor[HudColor["HUD_COLOUR_DAMAGE"] = 125] = "HUD_COLOUR_DAMAGE";
HudColor[HudColor["HUD_COLOUR_PINKLIGHT"] = 126] = "HUD_COLOUR_PINKLIGHT";
HudColor[HudColor["HUD_COLOUR_PM_MITEM_HIGHLIGHT"] = 127] = "HUD_COLOUR_PM_MITEM_HIGHLIGHT";
HudColor[HudColor["HUD_COLOUR_SCRIPT_VARIABLE"] = 128] = "HUD_COLOUR_SCRIPT_VARIABLE";
HudColor[HudColor["HUD_COLOUR_YOGA"] = 129] = "HUD_COLOUR_YOGA";
HudColor[HudColor["HUD_COLOUR_TENNIS"] = 130] = "HUD_COLOUR_TENNIS";
HudColor[HudColor["HUD_COLOUR_GOLF"] = 131] = "HUD_COLOUR_GOLF";
HudColor[HudColor["HUD_COLOUR_SHOOTING_RANGE"] = 132] = "HUD_COLOUR_SHOOTING_RANGE";
HudColor[HudColor["HUD_COLOUR_FLIGHT_SCHOOL"] = 133] = "HUD_COLOUR_FLIGHT_SCHOOL";
HudColor[HudColor["HUD_COLOUR_NORTH_BLUE"] = 134] = "HUD_COLOUR_NORTH_BLUE";
HudColor[HudColor["HUD_COLOUR_SOCIAL_CLUB"] = 135] = "HUD_COLOUR_SOCIAL_CLUB";
HudColor[HudColor["HUD_COLOUR_PLATFORM_BLUE"] = 136] = "HUD_COLOUR_PLATFORM_BLUE";
HudColor[HudColor["HUD_COLOUR_PLATFORM_GREEN"] = 137] = "HUD_COLOUR_PLATFORM_GREEN";
HudColor[HudColor["HUD_COLOUR_PLATFORM_GREY"] = 138] = "HUD_COLOUR_PLATFORM_GREY";
HudColor[HudColor["HUD_COLOUR_FACEBOOK_BLUE"] = 139] = "HUD_COLOUR_FACEBOOK_BLUE";
HudColor[HudColor["HUD_COLOUR_INGAME_BG"] = 140] = "HUD_COLOUR_INGAME_BG";
HudColor[HudColor["HUD_COLOUR_DARTS"] = 141] = "HUD_COLOUR_DARTS";
HudColor[HudColor["HUD_COLOUR_WAYPOINT"] = 142] = "HUD_COLOUR_WAYPOINT";
HudColor[HudColor["HUD_COLOUR_MICHAEL"] = 143] = "HUD_COLOUR_MICHAEL";
HudColor[HudColor["HUD_COLOUR_FRANKLIN"] = 144] = "HUD_COLOUR_FRANKLIN";
HudColor[HudColor["HUD_COLOUR_TREVOR"] = 145] = "HUD_COLOUR_TREVOR";
HudColor[HudColor["HUD_COLOUR_GOLF_P1"] = 146] = "HUD_COLOUR_GOLF_P1";
HudColor[HudColor["HUD_COLOUR_GOLF_P2"] = 147] = "HUD_COLOUR_GOLF_P2";
HudColor[HudColor["HUD_COLOUR_GOLF_P3"] = 148] = "HUD_COLOUR_GOLF_P3";
HudColor[HudColor["HUD_COLOUR_GOLF_P4"] = 149] = "HUD_COLOUR_GOLF_P4";
HudColor[HudColor["HUD_COLOUR_WAYPOINTLIGHT"] = 150] = "HUD_COLOUR_WAYPOINTLIGHT";
HudColor[HudColor["HUD_COLOUR_WAYPOINTDARK"] = 151] = "HUD_COLOUR_WAYPOINTDARK";
HudColor[HudColor["HUD_COLOUR_PANEL_LIGHT"] = 152] = "HUD_COLOUR_PANEL_LIGHT";
HudColor[HudColor["HUD_COLOUR_MICHAEL_DARK"] = 153] = "HUD_COLOUR_MICHAEL_DARK";
HudColor[HudColor["HUD_COLOUR_FRANKLIN_DARK"] = 154] = "HUD_COLOUR_FRANKLIN_DARK";
HudColor[HudColor["HUD_COLOUR_TREVOR_DARK"] = 155] = "HUD_COLOUR_TREVOR_DARK";
HudColor[HudColor["HUD_COLOUR_OBJECTIVE_ROUTE"] = 156] = "HUD_COLOUR_OBJECTIVE_ROUTE";
HudColor[HudColor["HUD_COLOUR_PAUSEMAP_TINT"] = 157] = "HUD_COLOUR_PAUSEMAP_TINT";
HudColor[HudColor["HUD_COLOUR_PAUSE_DESELECT"] = 158] = "HUD_COLOUR_PAUSE_DESELECT";
HudColor[HudColor["HUD_COLOUR_PM_WEAPONS_PURCHASABLE"] = 159] = "HUD_COLOUR_PM_WEAPONS_PURCHASABLE";
HudColor[HudColor["HUD_COLOUR_PM_WEAPONS_LOCKED"] = 160] = "HUD_COLOUR_PM_WEAPONS_LOCKED";
HudColor[HudColor["HUD_COLOUR_END_SCREEN_BG"] = 161] = "HUD_COLOUR_END_SCREEN_BG";
HudColor[HudColor["HUD_COLOUR_CHOP"] = 162] = "HUD_COLOUR_CHOP";
HudColor[HudColor["HUD_COLOUR_PAUSEMAP_TINT_HALF"] = 163] = "HUD_COLOUR_PAUSEMAP_TINT_HALF";
HudColor[HudColor["HUD_COLOUR_NORTH_BLUE_OFFICIAL"] = 164] = "HUD_COLOUR_NORTH_BLUE_OFFICIAL";
HudColor[HudColor["HUD_COLOUR_SCRIPT_VARIABLE_2"] = 165] = "HUD_COLOUR_SCRIPT_VARIABLE_2";
HudColor[HudColor["HUD_COLOUR_H"] = 166] = "HUD_COLOUR_H";
HudColor[HudColor["HUD_COLOUR_HDARK"] = 167] = "HUD_COLOUR_HDARK";
HudColor[HudColor["HUD_COLOUR_T"] = 168] = "HUD_COLOUR_T";
HudColor[HudColor["HUD_COLOUR_TDARK"] = 169] = "HUD_COLOUR_TDARK";
HudColor[HudColor["HUD_COLOUR_HSHARD"] = 170] = "HUD_COLOUR_HSHARD";
HudColor[HudColor["HUD_COLOUR_CONTROLLER_MICHAEL"] = 171] = "HUD_COLOUR_CONTROLLER_MICHAEL";
HudColor[HudColor["HUD_COLOUR_CONTROLLER_FRANKLIN"] = 172] = "HUD_COLOUR_CONTROLLER_FRANKLIN";
HudColor[HudColor["HUD_COLOUR_CONTROLLER_TREVOR"] = 173] = "HUD_COLOUR_CONTROLLER_TREVOR";
HudColor[HudColor["HUD_COLOUR_CONTROLLER_CHOP"] = 174] = "HUD_COLOUR_CONTROLLER_CHOP";
HudColor[HudColor["HUD_COLOUR_VIDEO_EDITOR_VIDEO"] = 175] = "HUD_COLOUR_VIDEO_EDITOR_VIDEO";
HudColor[HudColor["HUD_COLOUR_VIDEO_EDITOR_AUDIO"] = 176] = "HUD_COLOUR_VIDEO_EDITOR_AUDIO";
HudColor[HudColor["HUD_COLOUR_VIDEO_EDITOR_TEXT"] = 177] = "HUD_COLOUR_VIDEO_EDITOR_TEXT";
HudColor[HudColor["HUD_COLOUR_HB_BLUE"] = 178] = "HUD_COLOUR_HB_BLUE";
HudColor[HudColor["HUD_COLOUR_HB_YELLOW"] = 179] = "HUD_COLOUR_HB_YELLOW";
})(HudColor || (HudColor = {}));
var HudColor$1 = HudColor;
var ChangeDirection;
(function (ChangeDirection) {
ChangeDirection[ChangeDirection["Left"] = 0] = "Left";
ChangeDirection[ChangeDirection["Right"] = 1] = "Right";
})(ChangeDirection || (ChangeDirection = {}));
var ChangeDirection$1 = ChangeDirection;
class Color {
constructor(r, g, b, a = 255) {
this.R = r;
this.G = g;
this.B = b;
this.A = a;
}
}
Color.Empty = new Color(0, 0, 0, 0);
Color.Transparent = new Color(0, 0, 0, 0);
Color.Black = new Color(0, 0, 0, 255);
Color.White = new Color(255, 255, 255, 255);
Color.WhiteSmoke = new Color(245, 245, 245, 255);
class Size {
constructor(w = 0, h = 0) {
this.Width = w;
this.Height = h;
}
}
class Point {
constructor(x, y) {
this.X = 0;
this.Y = 0;
this.X = x;
this.Y = y;
}
static Parse(arg) {
if (typeof arg === "object") {
if (arg.length) {
return new Point(arg[0], arg[1]);
}
else if (arg.X && arg.Y) {
return new Point(arg.X, arg.Y);
}
}
else if (typeof arg === "string") {
if (arg.indexOf(",") !== -1) {
const arr = arg.split(",");
return new Point(parseFloat(arr[0]), parseFloat(arr[1]));
}
}
return new Point(0, 0);
}
}
class IElement {
constructor() {
this.Enabled = true;
}
}
class Text extends IElement {
constructor(caption, pos, scale, color, font, centered) {
super();
this.Caption = caption;
this.Pos = pos;
this.Scale = scale;
this.Color = color || new Color(255, 255, 255, 255);
this.Font = font || 0;
this.Centered = centered || false;
}
Draw(caption, pos, scale, color, font, centered) {
if (caption && !pos && !scale && !color && !font && !centered) {
pos = new Point(this.Pos.X + caption.Width, this.Pos.Y + caption.Height);
scale = this.Scale;
color = this.Color;
font = this.Font;
centered = this.Centered;
}
const x = pos.X / 1280.0;
const y = pos.Y / 720.0;
game__default.setTextFont(parseInt(font));
game__default.setTextScale(scale, scale);
game__default.setTextColour(color.R, color.G, color.B, color.A);
game__default.setTextCentre(centered);
game__default.beginTextCommandDisplayText("STRING");
Text.AddLongString(caption);
game__default.endTextCommandDisplayText(x, y, 0);
}
static AddLongString(text) {
if (!text.length)
return;
const maxStringLength = 99;
for (let i = 0, position; i < text.length; i += maxStringLength) {
let currentText = text.substr(i, i + maxStringLength);
let currentIndex = i;
if ((currentText.match(/~/g) || []).length % 2 !== 0) {
position = currentText.lastIndexOf('~');
i -= (maxStringLength - position);
}
else {
position = Math.min(maxStringLength, text.length - currentIndex);
}
game__default.addTextComponentSubstringPlayerName(text.substr(currentIndex, position));
}
}
}
const gameScreen = game__default.getActiveScreenResolution(0, 0);
class Screen {
static get ResolutionMaintainRatio() {
const ratio = Screen.Width / Screen.Height;
const width = 1080.0 * ratio;
return new Size(width, 1080.0);
}
static MousePosition(relative = false) {
const res = Screen.ResolutionMaintainRatio;
const cursor = getCursorPos();
let [mouseX, mouseY] = [cursor.x, cursor.y];
if (relative)
[mouseX, mouseY] = [cursor.x / res.Width, cursor.y / res.Height];
return {
X: mouseX,
Y: mouseY
};
}
static IsMouseInBounds(topLeft, boxSize) {
const mousePosition = Screen.MousePosition();
return (mousePosition.X >= topLeft.X &&
mousePosition.X <= topLeft.X + boxSize.Width &&
(mousePosition.Y > topLeft.Y && mousePosition.Y < topLeft.Y + boxSize.Height));
}
static GetTextWidth(text, font, scale) {
game__default.beginTextCommandGetWidth("CELL_EMAIL_BCON");
Text.AddLongString(text);
game__default.setTextFont(font);
game__default.setTextScale(1.0, scale);
const width = game__default.endTextCommandGetWidth(true);
const res = Screen.ResolutionMaintainRatio;
return res.Width * width;
}
static GetLineCount(text, position, font, scale, wrap) {
game__default.beginTextCommandLineCount("CELL_EMAIL_BCON");
Text.AddLongString(text);
const res = Screen.ResolutionMaintainRatio;
const x = position.X / res.Width;
const y = position.Y / res.Height;
game__default.setTextFont(font);
game__default.setTextScale(1.0, scale);
if (wrap > 0) {
const start = position.X / res.Width;
const end = start + (wrap / res.Width);
game__default.setTextWrap(x, end);
}
let lineCount = game__default.endTextCommandLineCount(x, y);
return lineCount;
}
}
Screen.Width = gameScreen[1];
Screen.Height = gameScreen[2];
class Sprite {
constructor(textureDict, textureName, pos, size, heading = 0, color = new Color(255, 255, 255)) {
this.TextureDict = textureDict;
this.TextureName = textureName;
this.Pos = pos;
this.Size = size;
this.Heading = heading;
this.Color = color;
this.Visible = true;
}
LoadTextureDictionary() {
this.requestTextureDictPromise(this._textureDict).then((succ) => { });
}
requestTextureDictPromise(textureDict) {
return new Promise((resolve, reject) => {
game__default.requestStreamedTextureDict(textureDict, true);
let inter = setInterval(() => {
if (game__default.hasStreamedTextureDictLoaded(textureDict)) {
clearInterval(inter);
return resolve(true);
}
}, 10);
});
}
set TextureDict(v) {
this._textureDict = v;
if (!this.IsTextureDictionaryLoaded)
this.LoadTextureDictionary();
}
get TextureDict() {
return this._textureDict;
}
get IsTextureDictionaryLoaded() {
return game__default.hasStreamedTextureDictLoaded(this._textureDict);
}
Draw(textureDictionary, textureName, pos, size, heading, color, loadTexture) {
textureDictionary = textureDictionary || this.TextureDict;
textureName = textureName || this.TextureName;
pos = pos || this.Pos;
size = size || this.Size;
heading = heading || this.Heading;
color = color || this.Color;
loadTexture = loadTexture || true;
if (loadTexture) {
if (!game__default.hasStreamedTextureDictLoaded(textureDictionary))
game__default.requestStreamedTextureDict(textureDictionary, true);
}
const screenw = Screen.Width;
const screenh = Screen.Height;
const height = 1080.0;
const ratio = screenw / screenh;
const width = height * ratio;
const w = this.Size.Width / width;
const h = this.Size.Height / height;
const x = this.Pos.X / width + w * 0.5;
const y = this.Pos.Y / height + h * 0.5;
game__default.drawSprite(textureDictionary, textureName, x, y, w, h, heading, color.R, color.G, color.B, color.A, true);
}
}
class Rectangle extends IElement {
constructor(pos, size, color) {
super();
this.Enabled = true;
this.Pos = pos;
this.Size = size;
this.Color = color;
}
Draw(pos, size, color) {
if (!pos)
pos = new Size(0, 0);
if (!size && !color) {
pos = new Point(this.Pos.X + pos.Width, this.Pos.Y + pos.Height);
size = this.Size;
color = this.Color;
}
const w = size.Width / 1280.0;
const h = size.Height / 720.0;
const x = pos.X / 1280.0 + w * 0.5;
const y = pos.Y / 720.0 + h * 0.5;
game__default.drawRect(x, y, w, h, color.R, color.G, color.B, color.A, false);
}
}
class ResRectangle extends Rectangle {
constructor(pos, size, color) {
super(pos, size, color);
}
Draw(pos, size, color) {
if (!pos)
pos = new Size();
if (pos && !size && !color) {
pos = new Point(this.Pos.X + pos.Width, this.Pos.Y + pos.Height);
size = this.Size;
color = this.Color;
}
const screenw = Screen.Width;
const screenh = Screen.Height;
const height = 1080.0;
const ratio = screenw / screenh;
const width = height * ratio;
const w = size.Width / width;
const h = size.Height / height;
const x = pos.X / width + w * 0.5;
const y = pos.Y / height + h * 0.5;
game__default.drawRect(x, y, w, h, color.R, color.G, color.B, color.A, false);
}
}
class ResText extends Text {
constructor(caption, pos, scale, color, font, centered) {
super(caption, pos, scale, color || new Color(255, 255, 255), font || 0, false);
this.TextAlignment = Alignment$1.Left;
this.Wrap = 0;
if (centered)
this.TextAlignment = centered;
}
get WordWrap() {
return new Size(this.Wrap, 0);
}
set WordWrap(value) {
this.Wrap = value.Width;
}
Draw(arg1, pos, scale, color, font, arg2, dropShadow, outline, wordWrap) {
let caption = arg1;
let centered = arg2;
let textAlignment = arg2;
if (!arg1)
arg1 = new Size(0, 0);
if (arg1 && !pos) {
textAlignment = this.TextAlignment;
caption = this.Caption;
pos = new Point(this.Pos.X + arg1.Width, this.Pos.Y + arg1.Height);
scale = this.Scale;
color = this.Color;
font = this.Font;
if (centered == true || centered == false) {
centered = this.Centered;
}
else {
centered = undefined;
dropShadow = this.DropShadow;
outline = this.Outline;
wordWrap = this.WordWrap;
}
}
const screenw = Screen.Width;
const screenh = Screen.Height;
const height = 1080.0;
const ratio = screenw / screenh;
const width = height * ratio;
const x = this.Pos.X / width;
const y = this.Pos.Y / height;
game__default.setTextFont(parseInt(font));
game__default.setTextScale(1.0, scale);
game__default.setTextColour(color.R, color.G, color.B, color.A);
if (centered !== undefined) {
game__default.setTextCentre(centered);
}
else {
if (dropShadow)
game__default.setTextDropshadow(2, 0, 0, 0, 0);
if (outline)
logWarning("[NativeUI] ResText outline not working!");
switch (textAlignment) {
case Alignment$1.Centered:
game__default.setTextCentre(true);
break;
case Alignment$1.Right:
game__default.setTextRightJustify(true);
game__default.setTextWrap(0.0, x);
break;
}
if (this.Wrap) {
const xsize = (this.Pos.X + this.Wrap) / width;
game__default.setTextWrap(x, xsize);
}
}
game__default.beginTextCommandDisplayText("CELL_EMAIL_BCON");
Text.AddLongString(caption);
game__default.endTextCommandDisplayText(x, y, 0);
}
}
function UUIDV4() {
let uuid = "";
let ii;
for (ii = 0; ii < 32; ii += 1) {
switch (ii) {
case 8:
case 20:
uuid += "-";
uuid += ((Math.random() * 16) | 0).toString(16);
break;
case 12:
uuid += "-";
uuid += "4";
break;
case 16:
uuid += "-";
uuid += ((Math.random() * 4) | 8).toString(16);
break;
default:
uuid += ((Math.random() * 16) | 0).toString(16);
}
}
return uuid;
}
class UIMenuItem {
constructor(text, description = "", data = null) {
this.Id = UUIDV4();
this.BackColor = UIMenuItem.DefaultBackColor;
this.HighlightedBackColor = UIMenuItem.DefaultHighlightedBackColor;
this.ForeColor = UIMenuItem.DefaultForeColor;
this.HighlightedForeColor = UIMenuItem.DefaultHighlightedForeColor;
this.RightLabel = "";
this.LeftBadge = BadgeStyle$1.None;
this.RightBadge = BadgeStyle$1.None;
this.Enabled = true;
this.Data = data;
this._rectangle = new ResRectangle(new Point(0, 0), new Size(431, 38), new Color(150, 0, 0, 0));
this._text = new ResText(text, new Point(8, 0), 0.33, Color.WhiteSmoke, Font$1.ChaletLondon, Alignment$1.Left);
this.Description = description;
this._selectedSprite = new Sprite("commonmenu", "gradient_nav", new Point(0, 0), new Size(431, 38));
this._badgeLeft = new Sprite("commonmenu", "", new Point(0, 0), new Size(40, 40));
this._badgeRight = new Sprite("commonmenu", "", new Point(0, 0), new Size(40, 40));
this._labelText = new ResText("", new Point(0, 0), 0.35, Color.White, 0, Alignment$1.Right);
}
get Text() {
return this._text.Caption;
}
set Text(text) {
this._text.Caption = text;
}
get Description() {
return this._description;
}
set Description(text) {
this._description = text;
if (this.hasOwnProperty('Parent')) {
this.Parent.UpdateDescriptionCaption();
}
}
SetVerticalPosition(y) {
this._rectangle.Pos = new Point(this.Offset.X, y + 144 + this.Offset.Y);
this._selectedSprite.Pos = new Point(0 + this.Offset.X, y + 144 + this.Offset.Y);
this._text.Pos = new Point(8 + this.Offset.X, y + 147 + this.Offset.Y);
this._badgeLeft.Pos = new Point(0 + this.Offset.X, y + 142 + this.Offset.Y);
this._badgeRight.Pos = new Point(385 + this.Offset.X, y + 142 + this.Offset.Y);
this._labelText.Pos = new Point(420 + this.Offset.X, y + 148 + this.Offset.Y);
}
addEvent(event, ...args) {
this._event = { event: event, args: args };
}
fireEvent() {
if (this._event) {
emit(this._event.event, ...this._event.args);
}
}
Draw() {
this._rectangle.Size = new Size(431 + this.Parent.WidthOffset, 38);
this._selectedSprite.Size = new Size(431 + this.Parent.WidthOffset, 38);
if (this.Hovered && !this.Selected) {
this._rectangle.Color = new Color(255, 255, 255, 20);
this._rectangle.Draw();
}
this._selectedSprite.Color = this.Selected
? this.HighlightedBackColor
: this.BackColor;
this._selectedSprite.Draw();
this._text.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
if (this.LeftBadge != BadgeStyle$1.None) {
this._text.Pos = new Point(35 + this.Offset.X, this._text.Pos.Y);
this._badgeLeft.TextureDict = this.BadgeToSpriteLib(this.LeftBadge);
this._badgeLeft.TextureName = this.BadgeToSpriteName(this.LeftBadge, this.Selected);
this._badgeLeft.Color = this.IsBagdeWhiteSprite(this.LeftBadge)
? this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148)
: Color.White;
this._badgeLeft.Draw();
}
else {
this._text.Pos = new Point(8 + this.Offset.X, this._text.Pos.Y);
}
if (this.RightBadge != BadgeStyle$1.None) {
this._badgeRight.Pos = new Point(385 + this.Offset.X + this.Parent.WidthOffset, this._badgeRight.Pos.Y);
this._badgeRight.TextureDict = this.BadgeToSpriteLib(this.RightBadge);
this._badgeRight.TextureName = this.BadgeToSpriteName(this.RightBadge, this.Selected);
this._badgeRight.Color = this.IsBagdeWhiteSprite(this.RightBadge)
? this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148)
: Color.White;
this._badgeRight.Draw();
}
if (this.RightLabel && this.RightLabel !== "") {
this._labelText.Pos = new Point(420 + this.Offset.X + this.Parent.WidthOffset, this._labelText.Pos.Y);
this._labelText.Caption = this.RightLabel;
this._labelText.Color = this._text.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._labelText.Draw();
}
this._text.Draw();
}
SetLeftBadge(badge) {
this.LeftBadge = badge;
}
SetRightBadge(badge) {
this.RightBadge = badge;
}
SetRightLabel(text) {
this.RightLabel = text;
}
BadgeToSpriteLib(badge) {
switch (badge) {
case BadgeStyle$1.Sale:
return "mpshopsale";
case BadgeStyle$1.Audio1:
case BadgeStyle$1.Audio2:
case BadgeStyle$1.Audio3:
case BadgeStyle$1.AudioInactive:
case BadgeStyle$1.AudioMute:
return "mpleaderboard";
default:
return "commonmenu";
}
}
BadgeToSpriteName(badge, selected) {
switch (badge) {
case BadgeStyle$1.None:
return "";
case BadgeStyle$1.BronzeMedal:
return "mp_medal_bronze";
case BadgeStyle$1.GoldMedal:
return "mp_medal_gold";
case BadgeStyle$1.SilverMedal:
return "medal_silver";
case BadgeStyle$1.Alert:
return "mp_alerttriangle";
case BadgeStyle$1.Crown:
return "mp_hostcrown";
case BadgeStyle$1.Ammo:
return selected ? "shop_ammo_icon_b" : "shop_ammo_icon_a";
case BadgeStyle$1.Armour:
return selected ? "shop_armour_icon_b" : "shop_armour_icon_a";
case BadgeStyle$1.Barber:
return selected ? "shop_barber_icon_b" : "shop_barber_icon_a";
case BadgeStyle$1.Clothes:
return selected ? "shop_clothing_icon_b" : "shop_clothing_icon_a";
case BadgeStyle$1.Franklin:
return selected ? "shop_franklin_icon_b" : "shop_franklin_icon_a";
case BadgeStyle$1.Bike:
return selected ? "shop_garage_bike_icon_b" : "shop_garage_bike_icon_a";
case BadgeStyle$1.Car:
return selected ? "shop_garage_icon_b" : "shop_garage_icon_a";
case BadgeStyle$1.Gun:
return selected ? "shop_gunclub_icon_b" : "shop_gunclub_icon_a";
case BadgeStyle$1.Heart:
return selected ? "shop_health_icon_b" : "shop_health_icon_a";
case BadgeStyle$1.Lock:
return "shop_lock";
case BadgeStyle$1.Makeup:
return selected ? "shop_makeup_icon_b" : "shop_makeup_icon_a";
case BadgeStyle$1.Mask:
return selected ? "shop_mask_icon_b" : "shop_mask_icon_a";
case BadgeStyle$1.Michael:
return selected ? "shop_michael_icon_b" : "shop_michael_icon_a";
case BadgeStyle$1.Star:
return "shop_new_star";
case BadgeStyle$1.Tattoo:
return selected ? "shop_tattoos_icon_b" : "shop_tattoos_icon_a";
case BadgeStyle$1.Tick:
return "shop_tick_icon";
case BadgeStyle$1.Trevor:
return selected ? "shop_trevor_icon_b" : "shop_trevor_icon_a";
case BadgeStyle$1.Sale:
return "saleicon";
case BadgeStyle$1.ArrowLeft:
return "arrowleft";
case BadgeStyle$1.ArrowRight:
return "arrowright";
case BadgeStyle$1.Audio1:
return "leaderboard_audio_1";
case BadgeStyle$1.Audio2:
return "leaderboard_audio_2";
case BadgeStyle$1.Audio3:
return "leaderboard_audio_3";
case BadgeStyle$1.AudioInactive:
return "leaderboard_audio_inactive";
case BadgeStyle$1.AudioMute:
return "leaderboard_audio_mute";
default:
return "";
}
}
IsBagdeWhiteSprite(badge) {
switch (badge) {
case BadgeStyle$1.Lock:
case BadgeStyle$1.Tick:
case BadgeStyle$1.Crown:
return true;
default:
return false;
}
}
BadgeToColor(badge, selected) {
switch (badge) {
case BadgeStyle$1.Lock:
case BadgeStyle$1.Tick:
case BadgeStyle$1.Crown:
return selected
? new Color(255, 0, 0, 0)
: new Color(255, 255, 255, 255);
default:
return new Color(255, 255, 255, 255);
}
}
}
UIMenuItem.DefaultBackColor = Color.Empty;
UIMenuItem.DefaultHighlightedBackColor = Color.White;
UIMenuItem.DefaultForeColor = Color.WhiteSmoke;
UIMenuItem.DefaultHighlightedForeColor = Color.Black;
class UIMenuCheckboxItem extends UIMenuItem {
constructor(text, check = false, description = "") {
super(text, description);
this.Checked = false;
const y = 0;
this._checkedSprite = new Sprite("commonmenu", "shop_box_blank", new Point(410, y + 95), new Size(50, 50));
this.Checked = check;
}
SetVerticalPosition(y) {
super.SetVerticalPosition(y);
this._checkedSprite.Pos = new Point(380 + this.Offset.X + this.Parent.WidthOffset, y + 138 + this.Offset.Y);
}
Draw() {
super.Draw();
this._checkedSprite.Pos = this._checkedSprite.Pos = new Point(380 + this.Offset.X + this.Parent.WidthOffset, this._checkedSprite.Pos.Y);
const isDefaultHightlitedForeColor = this.HighlightedForeColor == UIMenuItem.DefaultHighlightedForeColor;
if (this.Selected && isDefaultHightlitedForeColor) {
this._checkedSprite.TextureName = this.Checked
? "shop_box_tickb"
: "shop_box_blankb";
}
else {
this._checkedSprite.TextureName = this.Checked
? "shop_box_tick"
: "shop_box_blank";
}
this._checkedSprite.Color = this.Enabled
? this.Selected && !isDefaultHightlitedForeColor
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._checkedSprite.Draw();
}
SetRightBadge(badge) {
return this;
}
SetRightLabel(text) {
return this;
}
}
class ListItem {
constructor(text = "", data = null) {
this.Id = UUIDV4();
this.DisplayText = text;
this.Data = data;
}
}
class ItemsCollection {
constructor(items) {
if (items.length === 0)
throw new Error("ItemsCollection cannot be empty");
this.items = items;
}
length() {
return this.items.length;
}
getListItems() {
const items = [];
for (const item of this.items) {
if (item instanceof ListItem) {
items.push(item);
}
else if (typeof item == "string") {
items.push(new ListItem(item));
}
else if (typeof item == "number") {
items.push(new ListItem(item.toString()));
}
}
return items;
}
}
class UIMenuListItem extends UIMenuItem {
constructor(text, description = "", collection = new ItemsCollection([]), startIndex = 0, data = null) {
super(text, description, data);
this.ScrollingEnabled = true;
this.HoldTimeBeforeScroll = 200;
this._currentOffset = 0;
this._itemsCollection = [];
this._index = 0;
let y = 0;
this.Collection = collection.getListItems();
this.Index = startIndex;
this._arrowLeft = new Sprite("commonmenu", "arrowleft", new Point(110, 105 + y), new Size(30, 30));
this._arrowRight = new Sprite("commonmenu", "arrowright", new Point(280, 105 + y), new Size(30, 30));
this._itemText = new ResText("", new Point(290, y + 104), 0.35, Color.White, Font$1.ChaletLondon, Alignment$1.Right);
}
get Collection() {
return this._itemsCollection;
}
set Collection(v) {
if (!v)
throw new Error("The collection can't be null");
this._itemsCollection = v;
}
set SelectedItem(v) {
const idx = this.Collection.findIndex(li => li.Id === v.Id);
if (idx > 0)
this.Index = idx;
else
this.Index = 0;
}
get SelectedItem() {
return this.Collection.length > 0 ? this.Collection[this.Index] : null;
}
get SelectedValue() {
return this.SelectedItem == null
? null
: this.SelectedItem.Data == null
? this.SelectedItem.DisplayText
: this.SelectedItem.Data;
}
get Index() {
if (this.Collection == null)
return -1;
if (this.Collection != null && this.Collection.length == 0)
return -1;
return this._index % this.Collection.length;
}
set Index(value) {
if (this.Collection == null)
return;
if (this.Collection != null && this.Collection.length == 0)
return;
this._index = 100000000 - (100000000 % this.Collection.length) + value;
const caption = this.Collection.length >= this.Index
? this.Collection[this.Index].DisplayText
: " ";
this._currentOffset = Screen.GetTextWidth(caption, this._itemText && this._itemText.Font ? this._itemText.Font : 0, 0.35);
}
setCollection(collection) {
this.Collection = collection.getListItems();
}
setCollectionItem(index, item, resetSelection = true) {
if (index > this.Collection.length)
throw new Error("Index out of bounds");
if (typeof item === "string")
item = new ListItem(item);
this.Collection.splice(index, 1, item);
if (resetSelection)
this.Index = 0;
}
SetVerticalPosition(y) {
this._arrowLeft.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._arrowRight.Pos = new Point(400 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._itemText.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, y + 147 + this.Offset.Y);
super.SetVerticalPosition(y);
}
SetRightLabel(text) {
return this;
}
SetRightBadge(badge) {
return this;
}
Draw() {
super.Draw();
const caption = this.Collection.length >= this.Index
? this.Collection[this.Index].DisplayText
: " ";
const offset = this._currentOffset;
this._itemText.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._itemText.Caption = caption;
this._arrowLeft.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowRight.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowLeft.Pos = new Point(380 - offset + this.Offset.X + this.Parent.WidthOffset, this._arrowLeft.Pos.Y);
if (this.Selected) {
this._arrowLeft.Draw();
this._arrowRight.Draw();
this._itemText.Pos = new Point(405 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
else {
this._itemText.Pos = new Point(420 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
this._itemText.Draw();
}
}
Number.isInteger = Number.isInteger || function (value) {
return typeof value === 'number' &&
isFinite(value) &&
Math.floor(value) === value;
};
const fixFloat = (n) => {
return Number.isInteger(n) ? n : parseFloat(n.toFixed(10));
};
class UIMenuAutoListItem extends UIMenuItem {
constructor(text, description = "", lowerThreshold = 0, upperThreshold = 10, startValue = 0, data = null) {
super(text, description, data);
this._currentOffset = 0;
this._leftMoveThreshold = 1;
this._rightMoveThreshold = 1;
this._lowerThreshold = 0;
this._upperThreshold = 10;
this._preCaptionText = '';
this._postCaptionText = '';
let y = 0;
this.LowerThreshold = lowerThreshold;
this.UpperThreshold = lowerThreshold > upperThreshold ? lowerThreshold : upperThreshold;
this.SelectedValue = (startValue < lowerThreshold || startValue > upperThreshold) ? lowerThreshold : startValue;
this._arrowLeft = new Sprite("commonmenu", "arrowleft", new Point(110, 105 + y), new Size(30, 30));
this._arrowRight = new Sprite("commonmenu", "arrowright", new Point(280, 105 + y), new Size(30, 30));
this._itemText = new ResText("", new Point(290, y + 104), 0.35, Color.White, Font$1.ChaletLondon, Alignment$1.Right);
}
get PreCaptionText() {
return this._preCaptionText;
}
set PreCaptionText(text) {
if (!text)
throw new Error("The pre caption text can't be null");
if (typeof text !== 'string')
throw new Error("The pre caption text must be a string");
this._preCaptionText = text;
this._currentOffset = Screen.GetTextWidth(this.PreCaptionText + this._selectedValue.toString() + this.PostCaptionText, this._itemText && this._itemText.Font ? this._itemText.Font : 0, 0.35);
}
get PostCaptionText() {
return this._postCaptionText;
}
set PostCaptionText(text) {
if (!text)
throw new Error("The post caption text can't be null");
if (typeof text !== 'string')
throw new Error("The post caption text must be a string");
this._postCaptionText = text;
this._currentOffset = Screen.GetTextWidth(this.PreCaptionText + this._selectedValue.toString() + this.PostCaptionText, this._itemText && this._itemText.Font ? this._itemText.Font : 0, 0.35);
}
get LeftMoveThreshold() {
return this._leftMoveThreshold;
}
set LeftMoveThreshold(value) {
if (!value)
throw new Error("The left threshold can't be null");
this._leftMoveThreshold = value;
}
get RightMoveThreshold() {
return this._rightMoveThreshold;
}
set RightMoveThreshold(value) {
if (!value)
throw new Error("The right threshold can't be null");
this._rightMoveThreshold = value;
}
get LowerThreshold() {
return this._lowerThreshold;
}
set LowerThreshold(value) {
if (typeof value !== 'number' && !value)
throw new Error("The lower threshold can't be null");
this._lowerThreshold = value;
if (this.SelectedValue < value) {
this.SelectedValue = value;
}
}
get UpperThreshold() {
return this._upperThreshold;
}
set UpperThreshold(value) {
if (typeof value !== 'number' && !value)
throw new Error("The upper threshold can't be null");
this._upperThreshold = value;
if (this.SelectedValue > value) {
this.SelectedValue = value;
}
}
get SelectedValue() {
return this._selectedValue;
}
set SelectedValue(value) {
if (value < this._lowerThreshold || value > this._upperThreshold)
throw new Error("The value can not be outside the lower or upper limits");
this._selectedValue = fixFloat(value);
this._currentOffset = Screen.GetTextWidth(this.PreCaptionText + this._selectedValue.toString() + this.PostCaptionText, this._itemText && this._itemText.Font ? this._itemText.Font : 0, this._itemText && this._itemText.Scale ? this._itemText.Scale : 0.35);
}
SetVerticalPosition(y) {
this._arrowLeft.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._arrowRight.Pos = new Point(400 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._itemText.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, y + 147 + this.Offset.Y);
super.SetVerticalPosition(y);
}
SetRightLabel(text) {
return this;
}
SetRightBadge(badge) {
return this;
}
Draw() {
super.Draw();
const offset = this._currentOffset;
this._itemText.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._itemText.Caption = this.PreCaptionText + this._selectedValue + this.PostCaptionText;
this._arrowLeft.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowRight.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowLeft.Pos = new Point(380 - offset + this.Offset.X + this.Parent.WidthOffset, this._arrowLeft.Pos.Y);
if (this.Selected) {
this._arrowLeft.Draw();
this._arrowRight.Draw();
this._itemText.Pos = new Point(405 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
else {
this._itemText.Pos = new Point(420 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
this._itemText.Draw();
}
}
class UIMenuSliderItem extends UIMenuItem {
constructor(text, items, index, description = "", divider = false, data = null) {
super(text, description, data);
const y = 0;
this._items = items;
this._arrowLeft = new Sprite("commonmenutu", "arrowleft", new Point(0, 105 + y), new Size(15, 15));
this._arrowRight = new Sprite("commonmenutu", "arrowright", new Point(0, 105 + y), new Size(15, 15));
this._rectangleBackground = new ResRectangle(new Point(0, 0), new Size(150, 9), new Color(4, 32, 57, 255));
this._rectangleSlider = new ResRectangle(new Point(0, 0), new Size(75, 9), new Color(57, 116, 200, 255));
if (divider) {
this._rectangleDivider = new ResRectangle(new Point(0, 0), new Size(2.5, 20), Color.WhiteSmoke);
}
else {
this._rectangleDivider = new ResRectangle(new Point(0, 0), new Size(2.5, 20), Color.Transparent);
}
this.Index = index;
}
get Index() {
return this._index % this._items.length;
}
set Index(value) {
this._index = 100000000 - (100000000 % this._items.length) + value;
}
SetVerticalPosition(y) {
this._rectangleBackground.Pos = new Point(250 + this.Offset.X + this.Parent.WidthOffset, y + 158.5 + this.Offset.Y);
this._rectangleSlider.Pos = new Point(250 + this.Offset.X + this.Parent.WidthOffset, y + 158.5 + this.Offset.Y);
this._rectangleDivider.Pos = new Point(323.5 + this.Offset.X + this.Parent.WidthOffset, y + 153 + this.Offset.Y);
this._arrowLeft.Pos = new Point(235 + this.Offset.X + this.Parent.WidthOffset, 155.5 + y + this.Offset.Y);
this._arrowRight.Pos = new Point(400 + this.Offset.X + this.Parent.WidthOffset, 155.5 + y + this.Offset.Y);
super.SetVerticalPosition(y);
}
IndexToItem(index) {
return this._items[index];
}
Draw() {
super.Draw();
this._arrowLeft.Color = this.Enabled
? this.Selected
? Color.Black
: Color.WhiteSmoke
: new Color(163, 159, 148);
this._arrowRight.Color = this.Enabled
? this.Selected
? Color.Black
: Color.WhiteSmoke
: new Color(163, 159, 148);
let offset = ((this._rectangleBackground.Size.Width - this._rectangleSlider.Size.Width) / (this._items.length - 1)) * this.Index;
this._rectangleSlider.Pos = new Point(250 + this.Offset.X + offset + +this.Parent.WidthOffset, this._rectangleSlider.Pos.Y);
if (this.Selected) {
this._arrowLeft.Draw();
this._arrowRight.Draw();
}
this._rectangleBackground.Draw();
this._rectangleSlider.Draw();
this._rectangleDivider.Draw();
}
SetRightBadge(badge) { }
SetRightLabel(text) { }
}
class Container extends Rectangle {
constructor(pos, size, color) {
super(pos, size, color);
this.Items = [];
}
addItem(item) {
this.Items.push(item);
}
Draw(offset) {
if (!this.Enabled)
return;
offset = offset || new Size();
const screenw = Screen.Width;
const screenh = Screen.Height;
const height = 1080.0;
const ratio = screenw / screenh;
const width = height * ratio;
const w = this.Size.Width / width;
const h = this.Size.Height / height;
const x = (this.Pos.X + offset.Width) / width + w * 0.5;
const y = (this.Pos.Y + offset.Height) / height + h * 0.5;
game__default.drawRect(x, y, w, h, this.Color.R, this.Color.G, this.Color.B, this.Color.A, false);
for (var item of this.Items)
item.Draw(new Size(this.Pos.X + offset.Width, this.Pos.Y + offset.Height));
}
}
class Common {
static PlaySound(audioName, audioRef) {
game__default.playSound(-1, audioName, audioRef, false, 0, true);
}
}
class LiteEvent {
constructor() {
this.handlers = [];
}
on(handler) {
this.handlers.push(handler);
}
off(handler) {
this.handlers = this.handlers.filter(h => h !== handler);
}
emit(...args) {
this.handlers.slice(0).forEach(h => h(...args));
}
expose() {
return this;
}
count() {
return this.handlers.length;
}
}
class InstructionalButton {
constructor(text, control, buttonString = null) {
this._itemBind = null;
this.Text = text;
this._buttonControl = control;
this._usingControls = buttonString == null;
this._buttonString = buttonString;
}
get ItemBind() { return this._itemBind; }
BindToItem(item) {
this._itemBind = item;
}
GetButtonId() {
return this._usingControls ? game__default.getControlInstructionalButton(2, this._buttonControl, false) : "t_" + this._buttonString;
}
}
class Scaleform {
constructor(scaleForm) {
this._handle = 0;
this.scaleForm = scaleForm;
this._handle = requestScaleformMovie(this.scaleForm);
}
get handle() {
return this._handle;
}
get isValid() {
return this._handle != 0;
}
get isLoaded() {
return hasScaleformMovieLoaded(this._handle);
}
callFunctionHead(funcName, ...args) {
if (!this.isValid || !this.isLoaded)
return;
beginScaleformMovieMethod(this._handle, funcName);
args.forEach((arg) => {
switch (typeof arg) {
case "number":
{
if (Number(arg) === arg && arg % 1 !== 0) {
scaleformMovieMethodAddParamFloat(arg);
}
else {
scaleformMovieMethodAddParamInt(arg);
}
}
case "string":
{
scaleformMovieMethodAddParamPlayerNameString(arg);
break;
}
case "boolean":
{
scaleformMovieMethodAddParamBool(arg);
break;
}
default:
{
logError(`Unknown argument type ${typeof arg} = ${arg.toString()} passed to scaleform with handle ${this._handle}`);
}
}
});
}
callFunction(funcName, ...args) {
this.callFunctionHead(funcName, ...args);
endScaleformMovieMethod();
}
callFunctionReturn(funcName, ...args) {
this.callFunctionHead(funcName, ...args);
return endScaleformMovieMethodReturnValue();
}
render2D() {
if (!this.isValid || !this.isLoaded)
return;
drawScaleformMovieFullscreen(this._handle, 255, 255, 255, 255, 0);
}
recreate() {
if (!this.isValid || !this.isLoaded)
return;
setScaleformMovieAsNoLongerNeeded(this._handle);
this._handle = requestScaleformMovie(this.scaleForm);
}
destroy() {
if (!this.isValid)
return;
setScaleformMovieAsNoLongerNeeded(this._handle);
this._handle = 0;
}
}
class Message {
static Initialize(scaleForm, transitionOutAnimName) {
this._transitionOutAnimName = transitionOutAnimName;
this._scaleform = new Scaleform(scaleForm);
}
static get IsVisible() {
return this._messageVisible;
}
static get Scaleform() {
return this._scaleform;
}
static Load() {
if (this._delayedTransitionInTimeout != null) {
clearTimeout(this._delayedTransitionInTimeout);
this._delayedTransitionInTimeout = null;
}
}
static SetDelayedTransition(messageHandler, time) {
this._delayedTransitionInTimeout = setTimeout(() => {
this._delayedTransitionInTimeout = null;
this.TransitionIn(messageHandler, time);
}, this._transitionOutTimeMs);
}
static ShowCustomShard(funcName, time = 5000, ...funcArgs) {
this.ShowComplexCustomShard(() => {
this._scaleform.callFunction(funcName, ...funcArgs);
}, time);
}
static ShowComplexCustomShard(messageHandler, time = 5000) {
this.Load();
if (this._messageVisible) {
this.TransitionOut();
this.SetDelayedTransition(() => messageHandler(), time);
}
else {
this.TransitionIn(messageHandler, time);
}
}
static TransitionOut() {
if (!this._messageVisible)
return;
if (this._transitionOutTimeout != null) {
clearTimeout(this._transitionOutTimeout);
this._transitionOutTimeout = null;
}
if (this._transitionOutFinishedTimeout != null) {
clearTimeout(this._transitionOutFinishedTimeout);
this._transitionOutFinishedTimeout = null;
}
this._scaleform.callFunction(this._transitionOutAnimName);
this._transitionOutFinishedTimeout = setTimeout(() => {
this._messageVisible = false;
this._scaleform.recreate();
}, this._transitionOutTimeMs);
}
static TransitionIn(messageHandler, transitionOutTime = 500) {
this._messageVisible = true;
messageHandler();
this.SetTransitionOutTimer(transitionOutTime);
}
static SetTransitionOutTimer(time) {
this._transitionOutTimeout = setTimeout(() => {
this._transitionOutTimeout = null;
this.TransitionOut();
}, time);
}
static Render() {
if (this._messageVisible) {
this._scaleform.render2D();
}
}
}
Message._messageVisible = false;
Message._transitionOutTimeout = null;
Message._transitionOutFinishedTimeout = null;
Message._delayedTransitionInTimeout = null;
Message._scaleform = null;
Message._transitionOutTimeMs = 500;
Message._transitionOutAnimName = null;
class BigMessage extends Message {
static Initialize(scaleForm, transitionOutAnimName) {
super.Initialize(scaleForm, transitionOutAnimName);
everyTick(() => this.Render());
}
static ShowMissionPassedMessage(msg, subtitle = "", time = 5000) {
this.ShowCustomShard("SHOW_MISSION_PASSED_MESSAGE", time, msg, subtitle, 100, true, 0, true);
}
static ShowColoredShard(msg, desc, textColor, bgColor, time = 5000) {
this.ShowCustomShard("SHOW_SHARD_CENTERED_MP_MESSAGE", time, msg, desc, bgColor, textColor);
}
static ShowOldMessage(msg, time = 5000) {
this.ShowCustomShard("SHOW_MISSION_PASSED_MESSAGE", time, msg);
}
static ShowSimpleShard(title, subtitle = "", time = 5000) {
this.ShowCustomShard("SHOW_SHARD_CREW_RANKUP_MP_MESSAGE", time, title, subtitle);
}
static ShowRankupMessage(msg, subtitle, rank, time = 5000) {
this.ShowCustomShard("SHOW_BIG_MP_MESSAGE", time, msg, subtitle, rank, "", "");
}
static ShowPlaneMessage(title, planeName, planeHash, time = 5000) {
this.ShowCustomShard("SHOW_PLANE_MESSAGE", time, title, planeName, planeHash, "", "");
}
static ShowWeaponPurchasedMessage(bigMessage, weaponName, weaponHash, time = 5000) {
this.ShowCustomShard("SHOW_WEAPON_PURCHASED", time, bigMessage, weaponName, weaponHash, "", 100);
}
static ShowWastedMessage(title, message, color, darkenBackground, time = 5000) {
this.ShowCustomShard("SHOW_SHARD_WASTED_MP_MESSAGE", time, title, message, color, darkenBackground);
}
static ShowMpMessageLarge(msg, subtitle = "", time = 5000) {
this.ShowComplexCustomShard(() => {
this.Scaleform.callFunction("SHOW_CENTERED_MP_MESSAGE_LARGE", msg, subtitle, 100, true, 100);
this.Scaleform.callFunction("TRANSITION_IN");
}, time);
}
}
BigMessage.Initialize("MP_BIG_MESSAGE_FREEMODE", "TRANSITION_OUT");
class MidsizedMessage extends Message {
static Initialize(scaleForm, transitionOutAnimName) {
super.Initialize(scaleForm, transitionOutAnimName);
everyTick(() => this.Render());
}
static ShowMidsizedMessage(title, message = "", time = 5000) {
this.ShowCustomShard("SHOW_MIDSIZED_MESSAGE", time, title, message);
}
static ShowBridgesKnivesProgress(title, totalToDo, message, info, completed, time = 5000) {
this.ShowCustomShard("SHOW_BRIDGES_KNIVES_PROGRESS", time, title, totalToDo, message, info, completed);
}
static ShowCondensedShardMessage(title, message, bgColor, useDarkerShard, time = 5000) {
this.ShowCustomShard("SHOW_COND_SHARD_MESSAGE", time, title, message, bgColor, useDarkerShard);
}
static ShowMidsizedShardMessage(title, message, bgColor, useDarkerShard, useCondensedShard, time = 5000) {
this.ShowCustomShard("SHOW_SHARD_MIDSIZED_MESSAGE", time, title, message, bgColor, useDarkerShard, useCondensedShard);
}
}
MidsizedMessage.Initialize("MIDSIZED_MESSAGE", "SHARD_ANIM_OUT");
class UIMenuDynamicListItem extends UIMenuItem {
constructor(text, selectionChangeHandler, description = "", selectedStartValueHandler = null, data = null) {
super(text, description, data);
this._currentOffset = 0;
this._precaptionText = '';
this._selectedStartValueHandler = null;
this.SelectionChangeHandler = null;
if (!this.isVariableFunction(selectionChangeHandler)) {
logError(`[UIMenuDynamicListItem] ${text} is not created with a valid selectionChangeHandler, needs to be function. Please see docs.`);
}
if (!this.isVariableFunction(selectedStartValueHandler)) {
logError(`[UIMenuDynamicListItem] ${text} is not created with a valid selectedStartValueHandler, needs to be function. Please see docs.`);
}
this.SelectionChangeHandler = selectionChangeHandler;
this._selectedStartValueHandler = selectedStartValueHandler;
let y = 0;
this._arrowLeft = new Sprite("commonmenu", "arrowleft", new Point(110, 105 + y), new Size(30, 30));
this._arrowRight = new Sprite("commonmenu", "arrowright", new Point(280, 105 + y), new Size(30, 30));
this._itemText = new ResText("", new Point(290, y + 104), 0.35, Color.White, Font$1.ChaletLondon, Alignment$1.Right);
}
SelectionChangeHandlerPromise(item, selectedValue, changeDirection) {
return new Promise((resolve, reject) => {
let newSelectedValue = this.SelectionChangeHandler(item, selectedValue, changeDirection);
resolve(newSelectedValue);
});
}
get PreCaptionText() {
return this._precaptionText;
}
set PreCaptionText(text) {
if (!text)
throw new Error("The pre caption text can't be null");
if (typeof text !== 'string')
throw new Error("The pre caption text must be a string");
this._precaptionText = text;
this._currentOffset = Screen.GetTextWidth(this.PreCaptionText + this._selectedValue, this._itemText && this._itemText.Font ? this._itemText.Font : 0, 0.35);
}
get SelectedValue() {
return this._selectedValue;
}
set SelectedValue(value) {
this._selectedValue = value;
if (value == undefined)
return;
this._currentOffset = Screen.GetTextWidth(this.PreCaptionText + this._selectedValue, this._itemText && this._itemText.Font ? this._itemText.Font : 0, this._itemText && this._itemText.Scale ? this._itemText.Scale : 0.35);
}
SetVerticalPosition(y) {
this._arrowLeft.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._arrowRight.Pos = new Point(400 + this.Offset.X + this.Parent.WidthOffset, 147 + y + this.Offset.Y);
this._itemText.Pos = new Point(300 + this.Offset.X + this.Parent.WidthOffset, y + 147 + this.Offset.Y);
super.SetVerticalPosition(y);
}
SetRightLabel(text) {
return this;
}
SetRightBadge(badge) {
return this;
}
Draw() {
super.Draw();
if (this._selectedValue == undefined) {
if (this._selectedStartValueHandler != null) {
this.SelectedValue = this._selectedStartValueHandler();
}
else {
this._selectedValue = "";
}
}
const offset = this._currentOffset;
this._itemText.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._itemText.Caption = this.PreCaptionText + this._selectedValue;
this._arrowLeft.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowRight.Color = this.Enabled
? this.Selected
? this.HighlightedForeColor
: this.ForeColor
: new Color(163, 159, 148);
this._arrowLeft.Pos = new Point(380 - offset + this.Offset.X + this.Parent.WidthOffset, this._arrowLeft.Pos.Y);
if (this.Selected) {
this._arrowLeft.Draw();
this._arrowRight.Draw();
this._itemText.Pos = new Point(405 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
else {
this._itemText.Pos = new Point(420 + this.Offset.X + this.Parent.WidthOffset, this._itemText.Pos.Y);
}
this._itemText.Draw();
}
isVariableFunction(functionToCheck) {
return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';
}
}
let menuPool = [];
class NativeUI {
constructor(title, subtitle, offset, spriteLibrary, spriteName) {
this._visible = true;
this._counterPretext = "";
this._counterOverride = undefined;
this._lastUpDownNavigation = 0;
this._lastLeftRightNavigation = 0;
this._extraOffset = 0;
this._buttonsEnabled = true;
this._justOpened = true;
this._justOpenedFromPool = false;
this._justClosedFromPool = false;
this._poolOpening = null;
this._safezoneOffset = new Point(0, 0);
this._activeItem = 1000;
this._maxItemsOnScreen = 9;
this._maxItem = this._maxItemsOnScreen;
this._mouseEdgeEnabled = true;
this._bannerSprite = null;
this._bannerRectangle = null;
this._recalculateDescriptionNextFrame = 1;
this._instructionalButtons = [];
this._defaultTitleScale = 1.15;
this._maxMenuItems = 1000;
this.Id = UUIDV4();
this.SelectTextLocalized = getGxtText("HUD_INPUT2");
this.BackTextLocalized = getGxtText("HUD_INPUT3");
this.WidthOffset = 0;
this.ParentMenu = null;
this.ParentItem = null;
this.MouseControlsEnabled = false;
this.CloseableByUser = true;
this.AUDIO_LIBRARY = "HUD_FRONTEND_DEFAULT_SOUNDSET";
this.AUDIO_UPDOWN = "NAV_UP_DOWN";
this.AUDIO_LEFTRIGHT = "NAV_LEFT_RIGHT";
this.AUDIO_SELECT = "SELECT";
this.AUDIO_BACK = "BACK";
this.AUDIO_ERROR = "ERROR";
this.MenuItems = [];
this.IndexChange = new LiteEvent();
this.ListChange = new LiteEvent();
this.AutoListChange = new LiteEvent();
this.DynamicListChange = new LiteEvent();
this.SliderChange = new LiteEvent();
this.CheckboxChange = new LiteEvent();
this.ItemSelect = new LiteEvent();
this.MenuOpen = new LiteEvent();
this.MenuClose = new LiteEvent();
this.MenuChange = new LiteEvent();
if (!(offset instanceof Point))
offset = Point.Parse(offset);
this._spriteLibrary = spriteLibrary || "commonmenu";
this._spriteName = spriteName || "interaction_bgd";
this._offset = new Point(offset.X, offset.Y);
this.Children = new Map();
this._instructionalButtonsScaleform = new Scaleform("instructional_buttons");
this.UpdateScaleform();
this._mainMenu = new Container(new Point(0, 0), new Size(700, 500), new Color(0, 0, 0, 0));
this._bannerSprite = new Sprite(this._spriteLibrary, this._spriteName, new Point(0 + this._offset.X, 0 + this._offset.Y), new Size(431, 107));
this._mainMenu.addItem((this._titleResText = new ResText(title, new Point(215 + this._offset.X, 20 + this._offset.Y), this._defaultTitleScale, new Color(255, 255, 255), 1, Alignment$1.Centered)));
if (subtitle !== "") {
this._mainMenu.addItem(new ResRectangle(new Point(0 + this._offset.X, 107 + this._offset.Y), new Size(431, 37), new Color(0, 0, 0, 255)));
this._mainMenu.addItem((this._subtitleResText = new ResText(subtitle, new Point(8 + this._offset.X, 110 + this._offset.Y), 0.35, new Color(255, 255, 255), 0, Alignment$1.Left)));
if (subtitle.startsWith("~")) {
this._counterPretext = subtitle.substr(0, 3);
}
this._counterText = new ResText("", new Point(425 + this._offset.X, 110 + this._offset.Y), 0.35, new Color(255, 255, 255), 0, Alignment$1.Right);
this._extraOffset += 37;
}
this._upAndDownSprite = new Sprite("commonmenu", "shop_arrows_upanddown", new Point(190 + this._offset.X, 147 + 37 * (this._maxItemsOnScreen + 1) + this._offset.Y - 37 + this._extraOffset), new Size(50, 50));
this._extraRectangleUp = new ResRectangle(new Point(0 + this._offset.X, 144 + 38 * (this._maxItemsOnScreen + 1) + this._offset.Y - 37 + this._extraOffset), new Size(431, 18), new Color(0, 0, 0, 200));
this._extraRectangleDown = new ResRectangle(new Point(0 + this._offset.X, 144 + 18 + 38 * (this._maxItemsOnScreen + 1) + this._offset.Y - 37 + this._extraOffset), new Size(431, 18), new Color(0, 0, 0, 200));
this._descriptionBar = new ResRectangle(new Point(this._offset.X, 123), new Size(431, 4), Color.Black);
this._descriptionRectangle = new Sprite("commonmenu", "gradient_bgd", new Point(this._offset.X, 127), new Size(431, 30));
this._descriptionText = new ResText("", new Point(this._offset.X + 5, 125), 0.35, new Color(255, 255, 255, 255), Font$1.ChaletLondon, Alignment$1.Left);
this._descriptionText.Wrap = 400;
this._background = new Sprite("commonmenu", "gradient_bgd", new Point(this._offset.X, 144 + this._offset.Y - 37 + this._extraOffset), new Size(290, 25));
this._visible = false;
everyTick(this.render.bind(this));
}
GetSpriteBanner() {
return this._bannerSprite;
}
GetRectangleBanner() {
return this._bannerRectangle;
}
GetTitle() {
return this._titleResText;
}
get MaxItemsVisible() {
return this._maxItemsOnScreen;
}
set MaxItemsVisible(value) {
this._maxItemsOnScreen = value;
this._maxItem = value;
}
get Title() {
return this._titleResText.Caption;
}
set Title(text) {
this._titleResText.Caption = text;
}
get GetSubTitle() {
return this._titleResText;
}
get SubTitle() {
return this._titleResText.Caption;
}
set SubTitle(text) {
this._subtitleResText.Caption = text;
}
get Visible() {
return this._visible;
}
set Visible(toggle) {
this._visible = toggle;
Common.PlaySound(this.AUDIO_BACK, this.AUDIO_LIBRARY);
this.UpdateScaleform();
if (toggle) {
this.UpdateDescriptionCaption();
}
if (this._justOpenedFromPool === true) {
this._justOpenedFromPool = false;
return;
}
if (toggle) {
this._justOpened = true;
this.MenuOpen.emit();
if (this.ParentMenu === null) {
if (!menuPool.includes(this) && this !== this._poolOpening) {
const previousMenu = (menuPool.length) ? menuPool[menuPool.length - 1] : null;
menuPool.push(this);
if (previousMenu !== this._poolOpening && previousMenu !== null) {
previousMenu._justClosedFromPool = true;
previousMenu.Visible = false;
}
}
}
}
else {
if (this._justClosedFromPool === true) {
this._justClosedFromPool = false;
return;
}
if (this.ParentMenu === null && menuPool.includes(this) && menuPool.length) {
if (menuPool[menuPool.length - 1] === this) {
menuPool.pop();
this._justOpenedFromPool = true;
if (!menuPool.length) {
this._poolOpening = null;
}
}
if (menuPool.length) {
this._poolOpening = menuPool[menuPool.length - 1];
menuPool[menuPool.length - 1].Visible = true;
}
}
if (menuPool.length === 0) {
game__default.setMouseCursorSprite(1);
}
}
}
get CurrentSelection() {
return this._activeItem % this.MenuItems.length;
}
set CurrentSelection(v) {
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem = this._maxMenuItems - (this._maxMenuItems % this.MenuItems.length) + v;
if (this.CurrentSelection > this._maxItem) {
this._maxItem = this.CurrentSelection;
this._minItem = this.CurrentSelection - this._maxItemsOnScreen;
}
else if (this.CurrentSelection < this._minItem) {
this._maxItem = this._maxItemsOnScreen + this.CurrentSelection;
this._minItem = this.CurrentSelection;
}
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.UpdateDescriptionCaption();
}
DisableInstructionalButtons(disable) {
this._buttonsEnabled = !disable;
}
AddInstructionalButton(button) {
this._instructionalButtons.push(button);
}
SetSpriteBannerType(spriteBanner) {
this._bannerRectangle = null;
this.AddSpriteBannerType(spriteBanner);
}
SetRectangleBannerType(rectangle) {
this._bannerSprite = null;
this._bannerRectangle = rectangle;
this._bannerRectangle.Pos = new Point(this._offset.X, this._offset.Y);
this._bannerRectangle.Size = new Size(431 + this.WidthOffset, 107);
}
AddSpriteBannerType(spriteBanner) {
this._bannerSprite = spriteBanner;
this._bannerSprite.Size = new Size(431 + this.WidthOffset, 107);
this._bannerSprite.Pos = new Point(this._offset.X, this._offset.Y);
}
SetNoBannerType() {
this._bannerSprite = null;
this._bannerRectangle = new ResRectangle(new Point(this._offset.X, this._offset.Y), new Size(431 + this.WidthOffset, 107), new Color(0, 0, 0, 0));
}
RemoveInstructionalButton(button) {
for (let i = 0; i < this._instructionalButtons.length; i++) {
if (this._instructionalButtons[i] === button) {
this._instructionalButtons.splice(i, 1);
}
}
}
RecalculateDescriptionPosition() {
const count = (this.MenuItems.length > this._maxItemsOnScreen + 1) ? this._maxItemsOnScreen + 2 : this.MenuItems.length;
this._descriptionBar.Size = new Size(431 + this.WidthOffset, 4);
this._descriptionRectangle.Size = new Size(431 + this.WidthOffset, 30);
this._descriptionBar.Pos = new Point(this._offset.X, 149 - 37 + this._extraOffset + this._offset.Y);
this._descriptionRectangle.Pos = new Point(this._offset.X, 149 - 37 + this._extraOffset + this._offset.Y);
this._descriptionText.Pos = new Point(this._offset.X + 8, 155 - 37 + this._extraOffset + this._offset.Y);
this._descriptionBar.Pos = new Point(this._offset.X, 38 * count + this._descriptionBar.Pos.Y);
this._descriptionRectangle.Pos = new Point(this._offset.X, 38 * count + this._descriptionRectangle.Pos.Y);
this._descriptionText.Pos = new Point(this._offset.X + 8, 38 * count + this._descriptionText.Pos.Y);
}
SetMenuWidthOffset(widthOffset) {
this.WidthOffset = widthOffset;
if (this._bannerSprite != null) {
this._bannerSprite.Size = new Size(431 + this.WidthOffset, 107);
}
this._mainMenu.Items[0].pos = new Point((this.WidthOffset + this._offset.X + 431) / 2, 20 + this._offset.Y);
if (this._counterText) {
this._counterText.Pos = new Point(425 + this._offset.X + widthOffset, 110 + this._offset.Y);
}
if (this._mainMenu.Items.length >= 2) {
const tmp = this._mainMenu.Items[1];
tmp.size = new Size(431 + this.WidthOffset, 37);
}
if (this._bannerRectangle != null) {
this._bannerRectangle.Size = new Size(431 + this.WidthOffset, 107);
}
}
AddItem(item) {
if (this._justOpened)
this._justOpened = false;
item.Offset = this._offset;
item.Parent = this;
item.SetVerticalPosition(this.MenuItems.length * 25 - 37 + this._extraOffset);
this.MenuItems.push(item);
this.RefreshIndex();
}
RemoveItem(item) {
for (let i = 0; i < this.MenuItems.length; i++) {
if (this.MenuItems[i] === item) {
this.MenuItems.splice(i, 1);
break;
}
}
this.RefreshIndex();
}
RefreshIndex() {
if (this.MenuItems.length == 0) {
this._activeItem = this._maxMenuItems;
this._maxItem = this._maxItemsOnScreen;
this._minItem = 0;
return;
}
for (let i = 0; i < this.MenuItems.length; i++)
this.MenuItems[i].Selected = false;
this._activeItem = this._maxMenuItems - (this._maxMenuItems % this.MenuItems.length);
this._maxItem = this._maxItemsOnScreen;
this._minItem = 0;
if (this._visible) {
this.UpdateDescriptionCaption();
}
}
Clear() {
this.MenuItems = [];
this.RecalculateDescriptionPosition();
}
Open() {
this.Visible = true;
}
CleanUp(closeChildren = false) {
if (closeChildren) {
this.Children.forEach(m => {
m.Close(true);
});
}
this.MenuItems.filter(menuItem => menuItem instanceof UIMenuDynamicListItem).forEach((menuItem) => {
menuItem.SelectedValue = undefined;
});
this.RefreshIndex();
}
Close(closeChildren = false) {
this.Visible = false;
this.CleanUp(closeChildren);
this.MenuClose.emit(true);
}
GoLeft() {
if (!(this.MenuItems[this.CurrentSelection] instanceof UIMenuListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuAutoListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuDynamicListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuSliderItem) ||
!this.MenuItems[this.CurrentSelection].Enabled)
return;
if (this.MenuItems[this.CurrentSelection] instanceof UIMenuListItem) {
const it = this.MenuItems[this.CurrentSelection];
if (it.Collection.length == 0)
return;
it.Index--;
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.ListChange.emit(it, it.Index);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuAutoListItem) {
const it = this.MenuItems[this.CurrentSelection];
if (it.SelectedValue <= it.LowerThreshold) {
it.SelectedValue = it.UpperThreshold;
}
else {
it.SelectedValue -= it.LeftMoveThreshold;
}
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.AutoListChange.emit(it, it.SelectedValue, ChangeDirection$1.Left);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuDynamicListItem) {
const it = this.MenuItems[this.CurrentSelection];
it.SelectionChangeHandlerPromise(it, it.SelectedValue, ChangeDirection$1.Left).then((newSelectedValue) => {
it.SelectedValue = newSelectedValue;
this.DynamicListChange.emit(it, it.SelectedValue, ChangeDirection$1.Left);
});
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuSliderItem) {
const it = this.MenuItems[this.CurrentSelection];
it.Index = it.Index - 1;
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.SliderChange.emit(it, it.Index, it.IndexToItem(it.Index));
this.UpdateDescriptionCaption();
}
}
GoRight() {
if (!(this.MenuItems[this.CurrentSelection] instanceof UIMenuListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuAutoListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuDynamicListItem) &&
!(this.MenuItems[this.CurrentSelection] instanceof UIMenuSliderItem) ||
!this.MenuItems[this.CurrentSelection].Enabled)
return;
if (this.MenuItems[this.CurrentSelection] instanceof UIMenuListItem) {
const it = this.MenuItems[this.CurrentSelection];
if (it.Collection.length == 0)
return;
it.Index++;
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.ListChange.emit(it, it.Index);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuAutoListItem) {
const it = this.MenuItems[this.CurrentSelection];
if (it.SelectedValue >= it.UpperThreshold) {
it.SelectedValue = it.LowerThreshold;
}
else {
it.SelectedValue += it.RightMoveThreshold;
}
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.AutoListChange.emit(it, it.SelectedValue, ChangeDirection$1.Right);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuDynamicListItem) {
const it = this.MenuItems[this.CurrentSelection];
it.SelectionChangeHandlerPromise(it, it.SelectedValue, ChangeDirection$1.Right).then((newSelectedValue) => {
it.SelectedValue = newSelectedValue;
this.DynamicListChange.emit(it, it.SelectedValue, ChangeDirection$1.Right);
});
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.UpdateDescriptionCaption();
}
else if (this.MenuItems[this.CurrentSelection] instanceof UIMenuSliderItem) {
const it = this.MenuItems[this.CurrentSelection];
it.Index++;
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.SliderChange.emit(it, it.Index, it.IndexToItem(it.Index));
this.UpdateDescriptionCaption();
}
}
SelectItem() {
if (!this.MenuItems[this.CurrentSelection].Enabled) {
Common.PlaySound(this.AUDIO_ERROR, this.AUDIO_LIBRARY);
return;
}
const it = this.MenuItems[this.CurrentSelection];
if (this.MenuItems[this.CurrentSelection] instanceof UIMenuCheckboxItem) {
it.Checked = !it.Checked;
Common.PlaySound(this.AUDIO_SELECT, this.AUDIO_LIBRARY);
this.CheckboxChange.emit(it, it.Checked);
}
else {
Common.PlaySound(this.AUDIO_SELECT, this.AUDIO_LIBRARY);
this.ItemSelect.emit(it, this.CurrentSelection);
if (this.Children.has(it.Id)) {
const subMenu = this.Children.get(it.Id);
this.Visible = false;
subMenu.Visible = true;
this.MenuChange.emit(subMenu, true);
}
}
it.fireEvent();
}
HasCurrentSelectionChildren() {
const it = this.MenuItems[this.CurrentSelection];
if (this.MenuItems[this.CurrentSelection] instanceof UIMenuItem) {
if (this.Children.has(it.Id)) {
return true;
}
}
return false;
}
IsMouseInListItemArrows(item, topLeft, safezone) {
game__default.beginTextCommandGetWidth("jamyfafi");
game__default.addTextComponentSubstringPlayerName(item.Text);
let res = Screen.ResolutionMaintainRatio;
let screenw = res.Width;
let screenh = res.Height;
const height = 1080.0;
const ratio = screenw / screenh;
let width = height * ratio;
const labelSize = game__default.endTextCommandGetWidth(false) * width * 0.35;
const labelSizeX = 5 + labelSize + 10;
const arrowSizeX = 431 - labelSizeX;
return Screen.IsMouseInBounds(topLeft, new Size(labelSizeX, 38))
? 1
: Screen.IsMouseInBounds(new Point(topLeft.X + labelSizeX, topLeft.Y), new Size(arrowSizeX, 38))
? 2
: 0;
}
ProcessMouse() {
if (!this.Visible || this._justOpened || this.MenuItems.length == 0 || !this.MouseControlsEnabled) {
this.MenuItems.filter(i => i.Hovered).forEach(i => (i.Hovered = false));
return;
}
showCursor(true);
let limit = this.MenuItems.length - 1;
let counter = 0;
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
limit = this._maxItem;
if (Screen.IsMouseInBounds(new Point(0, 0), new Size(30, 1080)) && this._mouseEdgeEnabled) {
game__default.setGameplayCamRelativeHeading(game__default.getGameplayCamRelativeHeading() + 5.0);
game__default.setMouseCursorSprite(6);
}
else if (Screen.IsMouseInBounds(new Point(Screen.ResolutionMaintainRatio.Width - 30.0, 0), new Size(30, 1080)) && this._mouseEdgeEnabled) {
game__default.setGameplayCamRelativeHeading(game__default.getGameplayCamRelativeHeading() - 5.0);
game__default.setMouseCursorSprite(7);
}
else if (this._mouseEdgeEnabled) {
game__default.setMouseCursorSprite(1);
}
for (let i = this._minItem; i <= limit; i++) {
let xpos = this._offset.X;
let ypos = this._offset.Y + 144 - 37 + this._extraOffset + counter * 38;
let xsize = 431 + this.WidthOffset;
const ysize = 38;
const uiMenuItem = this.MenuItems[i];
if (Screen.IsMouseInBounds(new Point(xpos, ypos), new Size(xsize, ysize))) {
uiMenuItem.Hovered = true;
const res = this.IsMouseInListItemArrows(this.MenuItems[i], new Point(xpos, ypos), 0);
if (uiMenuItem.Hovered && res == 1 && (this.MenuItems[i] instanceof UIMenuListItem || this.MenuItems[i] instanceof UIMenuAutoListItem || this.MenuItems[i] instanceof UIMenuDynamicListItem)) {
game__default.setMouseCursorSprite(5);
}
if (game__default.isControlJustReleased(0, 24) || game__default.isDisabledControlJustReleased(0, 24))
if (uiMenuItem.Selected && uiMenuItem.Enabled) {
if ((this.MenuItems[i] instanceof UIMenuListItem || this.MenuItems[i] instanceof UIMenuAutoListItem || this.MenuItems[i] instanceof UIMenuDynamicListItem)
&& this.IsMouseInListItemArrows(this.MenuItems[i], new Point(xpos, ypos), 0) > 0) {
switch (res) {
case 1:
Common.PlaySound(this.AUDIO_SELECT, this.AUDIO_LIBRARY);
this.MenuItems[i].fireEvent();
this.ItemSelect.emit(this.MenuItems[i], i);
break;
case 2:
let it = this.MenuItems[i];
if ((it.Collection == null ? it.Items.Count : it.Collection.Count) > 0) {
it.Index++;
Common.PlaySound(this.AUDIO_LEFTRIGHT, this.AUDIO_LIBRARY);
this.ListChange.emit(it, it.Index);
}
break;
}
}
else
this.SelectItem();
}
else if (!uiMenuItem.Selected) {
this.CurrentSelection = i;
Common.PlaySound(this.AUDIO_UPDOWN, this.AUDIO_LIBRARY);
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.SelectItem();
this.UpdateDescriptionCaption();
this.UpdateScaleform();
}
else if (!uiMenuItem.Enabled && uiMenuItem.Selected) {
Common.PlaySound(this.AUDIO_ERROR, this.AUDIO_LIBRARY);
}
}
else
uiMenuItem.Hovered = false;
counter++;
}
const extraY = 144 + 38 * (this._maxItemsOnScreen + 1) + this._offset.Y - 37 + this._extraOffset + this._safezoneOffset.Y;
const extraX = this._safezoneOffset.X + this._offset.X;
if (this.MenuItems.length <= this._maxItemsOnScreen + 1)
return;
if (Screen.IsMouseInBounds(new Point(extraX, extraY), new Size(431 + this.WidthOffset, 18))) {
this._extraRectangleUp.Color = new Color(30, 30, 30, 255);
if (game__default.isControlJustPressed(0, 24) || game__default.isDisabledControlJustPressed(0, 24)) {
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
this.GoUpOverflow();
else
this.GoUp();
}
}
else
this._extraRectangleUp.Color = new Color(0, 0, 0, 200);
if (Screen.IsMouseInBounds(new Point(extraX, extraY + 18), new Size(431 + this.WidthOffset, 18))) {
this._extraRectangleDown.Color = new Color(30, 30, 30, 255);
if (game__default.isControlJustPressed(0, 24) || game__default.isDisabledControlJustPressed(0, 24)) {
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
this.GoDownOverflow();
else
this.GoDown();
}
}
else
this._extraRectangleDown.Color = new Color(0, 0, 0, 200);
}
ProcessControl() {
if (!this.Visible)
return;
if (this._justOpened) {
this._justOpened = false;
return;
}
if (game__default.isControlJustReleased(0, 177)) {
this.GoBack();
}
if (this.MenuItems.length == 0)
return;
if (game__default.isControlPressed(0, 172) && this._lastUpDownNavigation + 120 < Date.now()) {
this._lastUpDownNavigation = Date.now();
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
this.GoUpOverflow();
else
this.GoUp();
this.UpdateScaleform();
}
else if (game__default.isControlJustReleased(0, 172)) {
this._lastUpDownNavigation = 0;
}
else if (game__default.isControlPressed(0, 173) && this._lastUpDownNavigation + 120 < Date.now()) {
this._lastUpDownNavigation = Date.now();
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
this.GoDownOverflow();
else
this.GoDown();
this.UpdateScaleform();
}
else if (game__default.isControlJustReleased(0, 173)) {
this._lastUpDownNavigation = 0;
}
else if (game__default.isControlPressed(0, 174) && this._lastLeftRightNavigation + 100 < Date.now()) {
this._lastLeftRightNavigation = Date.now();
this.GoLeft();
}
else if (game__default.isControlJustReleased(0, 174)) {
this._lastLeftRightNavigation = 0;
}
else if (game__default.isControlPressed(0, 175) && this._lastLeftRightNavigation + 100 < Date.now()) {
this._lastLeftRightNavigation = Date.now();
this.GoRight();
}
else if (game__default.isControlJustReleased(0, 175)) {
this._lastLeftRightNavigation = 0;
}
else if (game__default.isControlJustReleased(0, 201)) {
this.SelectItem();
}
}
GoUpOverflow() {
if (this.MenuItems.length <= this._maxItemsOnScreen + 1)
return;
if (this._activeItem % this.MenuItems.length <= this._minItem) {
if (this._activeItem % this.MenuItems.length == 0) {
this._minItem = this.MenuItems.length - this._maxItemsOnScreen - 1;
this._maxItem = this.MenuItems.length - 1;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem = this._maxMenuItems - (this._maxMenuItems % this.MenuItems.length);
this._activeItem += this.MenuItems.length - 1;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
else {
this._minItem--;
this._maxItem--;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem--;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
}
else {
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem--;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
Common.PlaySound(this.AUDIO_UPDOWN, this.AUDIO_LIBRARY);
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.UpdateDescriptionCaption();
}
GoUp() {
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
return;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem--;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
Common.PlaySound(this.AUDIO_UPDOWN, this.AUDIO_LIBRARY);
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.UpdateDescriptionCaption();
}
GoDownOverflow() {
if (this.MenuItems.length <= this._maxItemsOnScreen + 1)
return;
if (this._activeItem % this.MenuItems.length >= this._maxItem) {
if (this._activeItem % this.MenuItems.length == this.MenuItems.length - 1) {
this._minItem = 0;
this._maxItem = this._maxItemsOnScreen;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem = this._maxMenuItems - (this._maxMenuItems % this.MenuItems.length);
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
else {
this._minItem++;
this._maxItem++;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem++;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
}
else {
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem++;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
}
Common.PlaySound(this.AUDIO_UPDOWN, this.AUDIO_LIBRARY);
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.UpdateDescriptionCaption();
}
GoDown() {
if (this.MenuItems.length > this._maxItemsOnScreen + 1)
return;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = false;
this._activeItem++;
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
Common.PlaySound(this.AUDIO_UPDOWN, this.AUDIO_LIBRARY);
this.IndexChange.emit(this.CurrentSelection, this.MenuItems[this._activeItem % this.MenuItems.length]);
this.UpdateDescriptionCaption();
}
GoBack() {
if (this.ParentMenu != null) {
this.Visible = false;
this.ParentMenu.Visible = true;
this.MenuChange.emit(this.ParentMenu, false);
this.MenuClose.emit(false);
}
else if (this.CloseableByUser) {
this.Visible = false;
this.CleanUp(true);
this.MenuClose.emit(false);
}
}
BindMenuToItem(menuToBind, itemToBindTo) {
if (!this.MenuItems.includes(itemToBindTo)) {
this.AddItem(itemToBindTo);
}
menuToBind.ParentMenu = this;
menuToBind.ParentItem = itemToBindTo;
this.Children.set(itemToBindTo.Id, menuToBind);
}
AddSubMenu(subMenu, itemToBindTo) {
this.BindMenuToItem(subMenu, itemToBindTo);
}
ReleaseMenuFromItem(releaseFrom) {
if (!this.Children.has(releaseFrom.Id))
return false;
const menu = this.Children.get(releaseFrom.Id);
menu.ParentItem = null;
menu.ParentMenu = null;
this.Children.delete(releaseFrom.Id);
return true;
}
UpdateDescriptionCaption() {
if (this.MenuItems.length) {
this._descriptionText.Caption = this.MenuItems[this._activeItem % this.MenuItems.length].Description;
this._descriptionText.Wrap = 400;
this._recalculateDescriptionNextFrame++;
}
}
CalculateDescription() {
if (this.MenuItems.length <= 0)
return;
if (this._recalculateDescriptionNextFrame > 0) {
this._recalculateDescriptionNextFrame--;
}
this.RecalculateDescriptionPosition();
if (this.MenuItems.length > 0 && this._descriptionText.Caption && this.MenuItems[this._activeItem % this.MenuItems.length].Description.trim() !== "") {
const numLines = Screen.GetLineCount(this._descriptionText.Caption, this._descriptionText.Pos, this._descriptionText.Font, this._descriptionText.Scale, this._descriptionText.Wrap);
this._descriptionRectangle.Size = new Size(431 + this.WidthOffset, (numLines * 25) + 15);
if (numLines === 0) {
this._recalculateDescriptionNextFrame++;
}
}
}
UpdateScaleform() {
if (!this.Visible || !this._buttonsEnabled)
return;
this._instructionalButtonsScaleform.callFunction("CLEAR_ALL");
this._instructionalButtonsScaleform.callFunction("TOGGLE_MOUSE_BUTTONS", 0);
this._instructionalButtonsScaleform.callFunction("CREATE_CONTAINER");
this._instructionalButtonsScaleform.callFunction("SET_DATA_SLOT", 0, game__default.getControlInstructionalButton(2, Control$1.PhoneSelect, false), this.SelectTextLocalized);
this._instructionalButtonsScaleform.callFunction("SET_DATA_SLOT", 1, game__default.getControlInstructionalButton(2, Control$1.PhoneCancel, false), this.BackTextLocalized);
let count = 2;
this._instructionalButtons.filter(b => b.ItemBind == null || this.MenuItems[this.CurrentSelection] == b.ItemBind).forEach((button) => {
this._instructionalButtonsScaleform.callFunction("SET_DATA_SLOT", count, button.GetButtonId(), button.Text);
count++;
});
this._instructionalButtonsScaleform.callFunction("DRAW_INSTRUCTIONAL_BUTTONS", -1);
}
render() {
if (!this.Visible)
return;
if (this._buttonsEnabled) {
game__default.drawScaleformMovieFullscreen(this._instructionalButtonsScaleform.handle, 255, 255, 255, 255, 0);
game__default.hideHudComponentThisFrame(6);
game__default.hideHudComponentThisFrame(7);
game__default.hideHudComponentThisFrame(9);
}
if (this._justOpened) {
if (this._bannerSprite != null && !this._bannerSprite.IsTextureDictionaryLoaded)
this._bannerSprite.LoadTextureDictionary();
if (!this._background.IsTextureDictionaryLoaded)
this._background.LoadTextureDictionary();
if (!this._descriptionRectangle.IsTextureDictionaryLoaded)
this._descriptionRectangle.LoadTextureDictionary();
if (!this._upAndDownSprite.IsTextureDictionaryLoaded)
this._upAndDownSprite.LoadTextureDictionary();
if (!this._recalculateDescriptionNextFrame)
this._recalculateDescriptionNextFrame++;
}
this._mainMenu.Draw();
this.ProcessMouse();
this.ProcessControl();
this._background.Size = this.MenuItems.length > this._maxItemsOnScreen + 1
? new Size(431 + this.WidthOffset, 38 * (this._maxItemsOnScreen + 1))
: new Size(431 + this.WidthOffset, 38 * this.MenuItems.length);
this._background.Draw();
if (this._recalculateDescriptionNextFrame) {
this.CalculateDescription();
}
if (this.MenuItems.length > 0) {
this.MenuItems[this._activeItem % this.MenuItems.length].Selected = true;
if (this.MenuItems[this._activeItem % this.MenuItems.length].Description.trim() !== "") {
this._descriptionBar.Draw();
this._descriptionRectangle.Draw();
this._descriptionText.Draw();
}
}
let count = 0;
if (this.MenuItems.length <= this._maxItemsOnScreen + 1) {
for (const item of this.MenuItems) {
item.SetVerticalPosition(count * 38 - 37 + this._extraOffset);
item.Draw();
count++;
}
if (this._counterText && this._counterOverride) {
this._counterText.Caption = this._counterPretext + this._counterOverride;
this._counterText.Draw();
}
}
else {
for (let index = this._minItem; index <= this._maxItem; index++) {
let item = this.MenuItems[index];
item.SetVerticalPosition(count * 38 - 37 + this._extraOffset);
item.Draw();
count++;
}
this._extraRectangleUp.Size = new Size(431 + this.WidthOffset, 18);
this._extraRectangleDown.Size = new Size(431 + this.WidthOffset, 18);
this._upAndDownSprite.Pos = new Point(190 + this._offset.X + this.WidthOffset / 2, 147 + 37 * (this._maxItemsOnScreen + 1) + this._offset.Y - 37 + this._extraOffset);
this._extraRectangleUp.Draw();
this._extraRectangleDown.Draw();
this._upAndDownSprite.Draw();
if (this._counterText) {
if (!this._counterOverride) {
const cap = this.CurrentSelection + 1 + " / " + this.MenuItems.length;
this._counterText.Caption = this._counterPretext + cap;
}
else {
this._counterText.Caption = this._counterPretext + this._counterOverride;
}
this._counterText.Draw();
}
}
if (this._bannerRectangle != null)
this._bannerRectangle.Draw();
if (this._bannerSprite != null)
this._bannerSprite.Draw();
}
}
export default NativeUI;
export { Alignment$1 as Alignment, BadgeStyle$1 as BadgeStyle, BigMessage, ChangeDirection$1 as ChangeDirection, Color, Control$1 as Control, Font$1 as Font, HudColor$1 as HudColor, InstructionalButton, ItemsCollection, ListItem, NativeUI as Menu, MidsizedMessage, Point, ResRectangle, Size, Sprite, UIMenuAutoListItem, UIMenuCheckboxItem, UIMenuDynamicListItem, UIMenuItem, UIMenuListItem, UIMenuSliderItem };