From 449d1c46b229637c996aba77182cbc0673fe4708 Mon Sep 17 00:00:00 2001 From: hydrant Date: Wed, 24 Oct 2018 22:25:17 +0200 Subject: [PATCH] Added NativeUi --- Client/nativeui/index.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 Client/nativeui/index.js diff --git a/Client/nativeui/index.js b/Client/nativeui/index.js new file mode 100644 index 00000000..e2ee1192 --- /dev/null +++ b/Client/nativeui/index.js @@ -0,0 +1 @@ +!function(e){var t={};function s(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,s),n.l=!0,n.exports}s.m=e,s.c=t,s.d=function(e,t,i){s.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},s.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="",s(s.s=0)}([function(e,t,s){"use strict";var i;s.r(t),function(e){e[e.None=0]="None",e[e.BronzeMedal=1]="BronzeMedal",e[e.GoldMedal=2]="GoldMedal",e[e.SilverMedal=3]="SilverMedal",e[e.Alert=4]="Alert",e[e.Crown=5]="Crown",e[e.Ammo=6]="Ammo",e[e.Armour=7]="Armour",e[e.Barber=8]="Barber",e[e.Clothes=9]="Clothes",e[e.Franklin=10]="Franklin",e[e.Bike=11]="Bike",e[e.Car=12]="Car",e[e.Gun=13]="Gun",e[e.Heart=14]="Heart",e[e.Makeup=15]="Makeup",e[e.Mask=16]="Mask",e[e.Michael=17]="Michael",e[e.Star=18]="Star",e[e.Tatoo=19]="Tatoo",e[e.Trevor=20]="Trevor",e[e.Lock=21]="Lock",e[e.Tick=22]="Tick"}(i||(i={}));var n,h=i;!function(e){e[e.ChaletLondon=0]="ChaletLondon",e[e.HouseScript=1]="HouseScript",e[e.Monospace=2]="Monospace",e[e.CharletComprimeColonge=4]="CharletComprimeColonge",e[e.Pricedown=7]="Pricedown"}(n||(n={}));var o,r=n;class a{constructor(e,t,s,i=255){this.R=e,this.G=t,this.B=s,this.A=i}}a.Empty=new a(0,0,0,0),a.Transparent=new a(0,0,0,0),a.Black=new a(0,0,0,255),a.White=new a(255,255,255,255),a.WhiteSmoke=new a(245,245,245,255);class l{constructor(e,t,s,i,n=0,h=new a(255,255,255)){this.TextureDict=e,this.TextureName=t,this.pos=s,this.size=i,this.heading=n,this.color=h,this.visible=!0}LoadTextureDictionary(){mp.game.graphics.requestStreamedTextureDict(this._textureDict,!0)}set TextureDict(e){this._textureDict=e,this.IsTextureDictionaryLoaded||this.LoadTextureDictionary()}get TextureDict(){return this._textureDict}get IsTextureDictionaryLoaded(){return mp.game.graphics.hasStreamedTextureDictLoaded(this._textureDict)}Draw(e,t,s,i,n,h,o){e=e||this.TextureDict,t=t||this.TextureName,s=s||this.pos,i=i||this.size,n=n||this.heading,h=h||this.color,(o=o||!0)&&(mp.game.graphics.hasStreamedTextureDictLoaded(e)||mp.game.graphics.requestStreamedTextureDict(e,!0));const r=1080*(mp.game.resolution.width/mp.game.resolution.height),a=this.size.Width/r,l=this.size.Height/1080,c=this.pos.X/r+.5*a,u=this.pos.Y/1080+.5*l;mp.game.graphics.drawSprite(e,t,c,u,a,l,n,h.R,h.G,h.B,h.A)}}class c{constructor(){this.handlers=[]}on(e){this.handlers.push(e)}off(e){this.handlers=this.handlers.filter(t=>t!==e)}emit(...e){this.handlers.slice(0).forEach(t=>t(...e))}expose(){return this}}class u{constructor(e,t){this.X=0,this.Y=0,this.X=e,this.Y=t}}class m{constructor(e=0,t=0){this.Width=e,this.Height=t}}class d{constructor(){this.enabled=!0}}class g extends d{constructor(e,t,s){super(),this.enabled=!0,this.pos=e,this.size=t,this.color=s}Draw(e,t,s){e||(e=new m(0,0)),t||s||(e=new u(this.pos.X+e.Width,this.pos.Y+e.Height),t=this.size,s=this.color);const i=t.Width/1280,n=t.Height/720,h=e.X/1280+.5*i,o=e.Y/720+.5*n;mp.game.graphics.drawRect(h,o,i,n,s.R,s.G,s.B,s.A)}}class f extends g{constructor(e,t,s){super(e,t,s)}Draw(e,t,s){e||(e=new m),!e||t||s||(e=new u(this.pos.X+e.Width,this.pos.Y+e.Height),t=this.size,s=this.color);const i=1080*(mp.game.resolution.width/mp.game.resolution.height),n=t.Width/i,h=t.Height/1080,o=e.X/i+.5*n,r=e.Y/1080+.5*h;mp.game.graphics.drawRect(o,r,n,h,s.R,s.G,s.B,s.A)}}class _ extends d{constructor(e,t,s,i,n,h){super(),this.caption=e,this.pos=t,this.scale=s,this.color=i||new a(255,255,255,255),this.font=n||0,this.centered=h||!1}Draw(e,t,s,i,n,h){!e||t||s||i||n||h||(t=new u(this.pos.X+e.Width,this.pos.Y+e.Height),s=this.scale,i=this.color,n=this.font,h=this.centered);const o=t.X/1280,r=t.Y/720;mp.game.ui.setTextFont(parseInt(n)),mp.game.ui.setTextScale(s,s),mp.game.ui.setTextColour(i.R,i.G,i.B,i.A),mp.game.ui.setTextCentre(h),mp.game.ui.setTextEntry("STRING"),mp.game.ui.addTextComponentSubstringPlayerName(e),mp.game.ui.drawText(o,r)}}exports=_,function(e){e[e.Left=0]="Left",e[e.Centered=1]="Centered",e[e.Right=2]="Right"}(o||(o={}));class p extends _{constructor(e,t,s,i,n,h){super(e,t,s,i||new a(255,255,255),n||0,!1),this.TextAlignment=o.Left,h&&(this.TextAlignment=h)}Draw(e,t,s,i,n,h,r,a,l){let c=e,d=h,g=h;e||(e=new m(0,0)),e&&!t&&(g=this.TextAlignment,c=this.caption,t=new u(this.pos.X+e.Width,this.pos.Y+e.Height),s=this.scale,i=this.color,n=this.font,1==d||0==d?d=this.centered:(d=void 0,r=this.DropShadow,a=this.Outline,l=this.WordWrap));const f=1080*(mp.game.resolution.width/mp.game.resolution.height),_=this.pos.X/f,p=this.pos.Y/1080;if(mp.game.ui.setTextFont(parseInt(n)),mp.game.ui.setTextScale(1,s),mp.game.ui.setTextColour(i.R,i.G,i.B,i.A),void 0!==d)mp.game.ui.setTextCentre(d);else{switch(r&&mp.game.ui.setTextDropshadow(2,0,0,0,0),a&&console.warn("not working!"),g){case o.Centered:mp.game.ui.setTextCentre(!0);break;case o.Right:mp.game.ui.setTextRightJustify(!0),mp.game.ui.setTextWrap(0,_)}if(l){const e=(this.pos.X+l.Width)/f;mp.game.ui.setTextWrap(_,e)}}mp.game.ui.setTextEntry("STRING"),mp.game.ui.addTextComponentSubstringPlayerName(c),mp.game.ui.drawText(_,p)}static AddLongString(e){for(var t=0;t":9,"?":10,"@":15,A:12,B:13,C:14,D:14,E:12,F:12,G:15,H:14,I:5,J:11,K:13,L:11,M:16,N:14,O:16,P:12,Q:15,R:13,S:12,T:11,U:13,V:12,W:18,X:11,Y:11,Z:12,"[":6,"\\":7,"]":6,"^":9,_:18,"`":8,a:11,b:12,c:11,d:12,e:12,f:5,g:13,h:11,i:4,j:4,k:10,l:4,m:18,n:11,o:12,p:12,q:12,r:7,s:9,t:5,u:11,v:10,w:14,x:9,y:10,z:9,"{":6,"|":3,"}":6};class M extends I{constructor(e,t="",s=new S([]),i=0){super(e,t),this.currOffset=0,this.collection=[],this.ScrollingEnabled=!0,this.HoldTimeBeforeScroll=200,this.OnListChanged=new c,this._index=0;this.Collection=s.getListItems(),this.Index=i,this._arrowLeft=new l("commonmenu","arrowleft",new u(110,105),new m(30,30)),this._arrowRight=new l("commonmenu","arrowright",new u(280,105),new m(30,30)),this._itemText=new p("",new u(290,104),.35,a.White,r.ChaletLondon,o.Right)}get Collection(){return this.collection}set Collection(e){if(!e)throw new Error("The collection can't be null");this.collection=e}get SelectedItem(){return this.Collection.length>0?this.Collection[this.Index]:null}get SelectedValue(){return null==this.SelectedItem?null:null==this.SelectedItem.Data?this.SelectedItem.DisplayText:this.SelectedItem.Data}get ListChanged(){return this.OnListChanged.expose()}get Index(){return null==this.Collection?-1:null!=this.Collection&&0==this.Collection.length?-1:this._index%this.Collection.length}set Index(e){if(null==this.Collection)return;if(null!=this.Collection&&0==this.Collection.length)return;this._index=1e5-1e5%this.Collection.length+e;const t=this.Collection.length>=this.Index?this.Collection[this.Index].DisplayText:" ";this.currOffset=C.MeasureString(t)}SetVerticalPosition(e){this._arrowLeft.pos=new u(300+this.Offset.X+this.Parent.WidthOffset,147+e+this.Offset.Y),this._arrowRight.pos=new u(400+this.Offset.X+this.Parent.WidthOffset,147+e+this.Offset.Y),this._itemText.pos=new u(300+this.Offset.X+this.Parent.WidthOffset,e+147+this.Offset.Y),super.SetVerticalPosition(e)}SetRightLabel(e){return this}SetRightBadge(e){return this}Draw(){super.Draw();const e=this.Collection.length>=this.Index?this.Collection[this.Index].DisplayText:" ",t=this.currOffset;this._itemText.color=this.Enabled?this.Selected?this.HighlightedForeColor:this.ForeColor:new a(163,159,148),this._itemText.caption=e,this._arrowLeft.color=this.Enabled?this.Selected?this.HighlightedForeColor:this.ForeColor:new a(163,159,148),this._arrowRight.color=this.Enabled?this.Selected?this.HighlightedForeColor:this.ForeColor:new a(163,159,148),this._arrowLeft.pos=new u(375-t+this.Offset.X+this.Parent.WidthOffset,this._arrowLeft.pos.Y),this.Selected?(this._arrowLeft.Draw(),this._arrowRight.Draw(),this._itemText.pos=new u(405+this.Offset.X+this.Parent.WidthOffset,this._itemText.pos.Y)):this._itemText.pos=new u(420+this.Offset.X+this.Parent.WidthOffset,this._itemText.pos.Y),this._itemText.Draw()}}class O extends I{get Index(){return this._index%this._items.length}set Index(e){this._index=1e8-1e8%this._items.length+e}constructor(e,t,s,i="",n=!1){super(e,i);this._items=t,this._arrowLeft=new l("commonmenutu","arrowleft",new u(0,105),new m(15,15)),this._arrowRight=new l("commonmenutu","arrowright",new u(0,105),new m(15,15)),this._rectangleBackground=new f(new u(0,0),new m(150,9),new a(4,32,57,255)),this._rectangleSlider=new f(new u(0,0),new m(75,9),new a(57,116,200,255)),this._rectangleDivider=new f(new u(0,0),new m(2.5,20),n?a.WhiteSmoke:a.Transparent),this.Index=s}SetVerticalPosition(e){this._rectangleBackground.pos=new u(250+this.Offset.X+this.Parent.WidthOffset,e+158.5+this.Offset.Y),this._rectangleSlider.pos=new u(250+this.Offset.X+this.Parent.WidthOffset,e+158.5+this.Offset.Y),this._rectangleDivider.pos=new u(323.5+this.Offset.X+this.Parent.WidthOffset,e+153+this.Offset.Y),this._arrowLeft.pos=new u(235+this.Offset.X+this.Parent.WidthOffset,155.5+e+this.Offset.Y),this._arrowRight.pos=new u(400+this.Offset.X+this.Parent.WidthOffset,155.5+e+this.Offset.Y),super.SetVerticalPosition(e)}IndexToItem(e){return this._items[e]}Draw(){super.Draw(),this._arrowLeft.color=this.Enabled?this.Selected?a.Black:a.WhiteSmoke:new a(163,159,148),this._arrowRight.color=this.Enabled?this.Selected?a.Black:a.WhiteSmoke:new a(163,159,148);let e=(this._rectangleBackground.size.Width-this._rectangleSlider.size.Width)/(this._items.length-1)*this.Index;this._rectangleSlider.pos=new u(250+this.Offset.X+e+ +this.Parent.WidthOffset,this._rectangleSlider.pos.Y),this.Selected&&(this._arrowLeft.Draw(),this._arrowRight.Draw()),this._rectangleBackground.Draw(),this._rectangleSlider.Draw(),this._rectangleDivider.Draw()}SetRightBadge(e){}SetRightLabel(e){}}class D extends g{constructor(e,t,s){super(e,t,s),this.Items=[]}addItem(e){this.Items.push(e)}Draw(e){if(!this.enabled)return;e=e||new m;const t=1080*(mp.game.resolution.width/mp.game.resolution.height),s=this.size.Width/t,i=this.size.Height/1080,n=(this.pos.X+e.Width)/t+.5*s,h=(this.pos.Y+e.Height)/1080+.5*i;for(var o of(mp.game.graphics.drawRect(n,h,s,i,this.color.R,this.color.G,this.color.B,this.color.A),this.Items))o.Draw(new m(this.pos.X+e.Width,this.pos.Y+e.Height))}}class R{static PlaySound(e,t){mp.game.audio.playSound(-1,e,t,!1,0,!0)}}s.d(t,"default",function(){return T});const b=mp.game.graphics.getScreenActiveResolution(0,0);mp.game.resolution={},mp.game.resolution.width=b.x,mp.game.resolution.height=b.y;class T{constructor(e,t,s,i,n){this.counterPretext="",this.counterOverride=void 0,this.lastUpDownNavigation=0,this.lastLeftRightNavigation=0,this._activeItem=1e3,this.extraOffset=0,this.WidthOffset=0,this.Visible=!0,this.MouseControlsEnabled=!1,this._justOpened=!0,this.safezoneOffset=new u(0,0),this.MaxItemsOnScreen=9,this._maxItem=this.MaxItemsOnScreen,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.onIndexChange=new c,this.onListChange=new c,this.onSliderChange=new c,this.onSliderSelect=new c,this.onCheckboxChange=new c,this.onItemSelect=new c,this.onMenuClose=new c,this.onMenuChange=new c,this.MouseEdgeEnabled=!0,this.title=e,this.subtitle=t,this.spriteLibrary=i||"commonmenu",this.spriteName=n||"interaction_bgd",this.offset=new u(s.X,s.Y),this.Children=new Map,this._mainMenu=new D(new u(0,0),new m(700,500),new a(0,0,0,0)),this._logo=new l(this.spriteLibrary,this.spriteName,new u(0+this.offset.X,0+this.offset.Y),new m(431,107)),this._mainMenu.addItem(this._title=new p(this.title,new u(215+this.offset.X,20+this.offset.Y),1.15,new a(255,255,255),1,o.Centered)),""!==this.subtitle&&(this._mainMenu.addItem(new f(new u(0+this.offset.X,107+this.offset.Y),new m(431,37),new a(0,0,0,255))),this._mainMenu.addItem(this._subtitle=new p(this.subtitle,new u(8+this.offset.X,110+this.offset.Y),.35,new a(255,255,255),0,o.Left)),this.subtitle.startsWith("~")&&(this.counterPretext=this.subtitle.substr(0,3)),this._counterText=new p("",new u(425+this.offset.X,110+this.offset.Y),.35,new a(255,255,255),0,o.Right),this.extraOffset+=37),this._upAndDownSprite=new l("commonmenu","shop_arrows_upanddown",new u(190+this.offset.X,147+37*(this.MaxItemsOnScreen+1)+this.offset.Y-37+this.extraOffset),new m(50,50)),this._extraRectangleUp=new f(new u(0+this.offset.X,144+38*(this.MaxItemsOnScreen+1)+this.offset.Y-37+this.extraOffset),new m(431,18),new a(0,0,0,200)),this._extraRectangleDown=new f(new u(0+this.offset.X,162+38*(this.MaxItemsOnScreen+1)+this.offset.Y-37+this.extraOffset),new m(431,18),new a(0,0,0,200)),this._descriptionBar=new f(new u(this.offset.X,123),new m(431,4),a.Black),this._descriptionRectangle=new l("commonmenu","gradient_bgd",new u(this.offset.X,127),new m(431,30)),this._descriptionText=new p("Description",new u(this.offset.X+5,125),.35,new a(255,255,255,255),r.ChaletLondon,o.Left),this._background=new l("commonmenu","gradient_bgd",new u(this.offset.X,144+this.offset.Y-37+this.extraOffset),new m(290,25)),mp.events.add("render",this.render.bind(this)),console.log(`Created Native UI! ${this.title}`)}get CurrentSelection(){return this._activeItem%this.MenuItems.length}set CurrentSelection(e){this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem=1e3-1e3%this.MenuItems.length+e,this.CurrentSelection>this._maxItem?(this._maxItem=this.CurrentSelection,this._minItem=this.CurrentSelection-this.MaxItemsOnScreen):this.CurrentSelectionthis.MaxItemsOnScreen+1&&(e=this.MaxItemsOnScreen+2),this._descriptionBar.pos=new u(this.offset.X,38*e+this._descriptionBar.pos.Y),this._descriptionRectangle.pos=new u(this.offset.X,38*e+this._descriptionRectangle.pos.Y),this._descriptionText.pos=new u(this.offset.X+8,38*e+this._descriptionText.pos.Y)}SetMenuWidthOffset(e){if(this.WidthOffset=e,null!=this._logo&&(this._logo.size=new m(431+this.WidthOffset,107)),this._mainMenu.Items[0].pos=new u((this.WidthOffset+this.offset.X+431)/2,20+this.offset.Y),this._counterText&&(this._counterText.pos=new u(425+this.offset.X+e,110+this.offset.Y)),this._mainMenu.Items.length>=2){this._mainMenu.Items[1].size=new m(431+this.WidthOffset,37)}}AddItem(e){this._justOpened&&(this._justOpened=!1),e.Offset=this.offset,e.Parent=this,e.SetVerticalPosition(25*this.MenuItems.length-37+this.extraOffset),this.MenuItems.push(e),e.Description=this.FormatDescription(e.Description),this.RefreshIndex(),this.RecalculateDescriptionPosition()}RefreshIndex(){if(0==this.MenuItems.length)return this._activeItem=1e3,this._maxItem=this.MaxItemsOnScreen,void(this._minItem=0);for(let e=0;e=e.X&&s<=e.X+t.Width&&i>e.Y&&ie.Hovered).forEach(e=>e.Hovered=!1);mp.gui.cursor.visible||(mp.gui.cursor.visible=!0);let e=this.MenuItems.length-1,t=0;this.MenuItems.length>this.MaxItemsOnScreen+1&&(e=this._maxItem),this.IsMouseInBounds(new u(0,0),new m(30,1080))&&this.MouseEdgeEnabled?(mp.game.cam.setGameplayCamRelativeHeading(mp.game.cam.getGameplayCamRelativeHeading()+5),mp.game.ui.setCursorSprite(6)):this.IsMouseInBounds(new u(this.GetScreenResolutionMantainRatio().Width-30,0),new m(30,1080))&&this.MouseEdgeEnabled?(mp.game.cam.setGameplayCamRelativeHeading(mp.game.cam.getGameplayCamRelativeHeading()-5),mp.game.ui.setCursorSprite(7)):this.MouseEdgeEnabled&&mp.game.ui.setCursorSprite(1);for(let i=this._minItem;i<=e;i++){let e=this.offset.X,n=this.offset.Y+144-37+this.extraOffset+38*t,h=431+this.WidthOffset;const o=38,r=this.MenuItems[i];if(this.IsMouseInBounds(new u(e,n),new m(h,o))){if(r.Hovered=!0,mp.game.controls.isControlJustPressed(0,24)||mp.game.controls.isDisabledControlJustPressed(0,24))if(r.Selected&&r.Enabled)if(this.MenuItems[i]instanceof M&&this.IsMouseInListItemArrows(this.MenuItems[i],new u(e,n),0)>0){switch(this.IsMouseInListItemArrows(this.MenuItems[i],new u(e,n),0)){case 1:R.PlaySound(this.AUDIO_SELECT,this.AUDIO_LIBRARY),this.MenuItems[i].fireEvent(),this.onItemSelect.emit(this.MenuItems[i],i);break;case 2:var s=this.MenuItems[i];(null==s.Collection?s.Items.Count:s.Collection.Count)>0&&(s.Index++,R.PlaySound(this.AUDIO_LEFTRIGHT,this.AUDIO_LIBRARY),this.onListChange.emit(s,s.Index))}}else this.SelectItem();else r.Selected?!r.Enabled&&r.Selected&&R.PlaySound(this.AUDIO_ERROR,this.AUDIO_LIBRARY):(this.CurrentSelection=i,R.PlaySound(this.AUDIO_UPDOWN,this.AUDIO_LIBRARY),this.onIndexChange.emit(this.CurrentSelection),this.SelectItem())}else r.Hovered=!1;t++}const i=144+38*(this.MaxItemsOnScreen+1)+this.offset.Y-37+this.extraOffset+this.safezoneOffset.Y,n=this.safezoneOffset.X+this.offset.X;this.MenuItems.length<=this.MaxItemsOnScreen+1||(this.IsMouseInBounds(new u(n,i),new m(431+this.WidthOffset,18))?(this._extraRectangleUp.color=new a(30,30,30,255),(mp.game.controls.isControlJustPressed(0,24)||mp.game.controls.isDisabledControlJustPressed(0,24))&&(this.MenuItems.length>this.MaxItemsOnScreen+1?this.GoUpOverflow():this.GoUp())):this._extraRectangleUp.color=new a(0,0,0,200),this.IsMouseInBounds(new u(n,i+18),new m(431+this.WidthOffset,18))?(this._extraRectangleDown.color=new a(30,30,30,255),(mp.game.controls.isControlJustPressed(0,24)||mp.game.controls.isDisabledControlJustPressed(0,24))&&(this.MenuItems.length>this.MaxItemsOnScreen+1?this.GoDownOverflow():this.GoDown())):this._extraRectangleDown.color=new a(0,0,0,200))}ProcessControl(){this.Visible&&(this._justOpened?this._justOpened=!1:(mp.game.controls.isControlJustReleased(0,177)&&this.GoBack(),0!=this.MenuItems.length&&(mp.game.controls.isControlPressed(0,172)&&this.lastUpDownNavigation+120this.MaxItemsOnScreen+1?this.GoUpOverflow():this.GoUp()):mp.game.controls.isControlJustReleased(0,172)?this.lastUpDownNavigation=0:mp.game.controls.isControlPressed(0,173)&&this.lastUpDownNavigation+120this.MaxItemsOnScreen+1?this.GoDownOverflow():this.GoDown()):mp.game.controls.isControlJustReleased(0,173)?this.lastUpDownNavigation=0:mp.game.controls.isControlPressed(0,174)&&this.lastLeftRightNavigation+100t?(i+="\n"+e+" ",s=n+C.MeasureString(" ")):(i+=e+" ",s+=C.MeasureString(" "))}return i}GoUpOverflow(){this.MenuItems.length<=this.MaxItemsOnScreen+1||(this._activeItem%this.MenuItems.length<=this._minItem?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=!1,this._activeItem=1e3-1e3%this.MenuItems.length,this._activeItem+=this.MenuItems.length-1,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0):(this._minItem--,this._maxItem--,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem--,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0):(this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem--,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0),R.PlaySound(this.AUDIO_UPDOWN,this.AUDIO_LIBRARY),this.onIndexChange.emit(this.CurrentSelection))}GoUp(){this.MenuItems.length>this.MaxItemsOnScreen+1||(this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem--,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0,R.PlaySound(this.AUDIO_UPDOWN,this.AUDIO_LIBRARY),this.onIndexChange.emit(this.CurrentSelection))}GoDownOverflow(){this.MenuItems.length<=this.MaxItemsOnScreen+1||(this._activeItem%this.MenuItems.length>=this._maxItem?this._activeItem%this.MenuItems.length==this.MenuItems.length-1?(this._minItem=0,this._maxItem=this.MaxItemsOnScreen,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem=1e3-1e3%this.MenuItems.length,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0):(this._minItem++,this._maxItem++,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem++,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0):(this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem++,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0),R.PlaySound(this.AUDIO_UPDOWN,this.AUDIO_LIBRARY),this.onIndexChange.emit(this.CurrentSelection))}GoDown(){this.MenuItems.length>this.MaxItemsOnScreen+1||(this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!1,this._activeItem++,this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0,R.PlaySound(this.AUDIO_UPDOWN,this.AUDIO_LIBRARY),this.onIndexChange.emit(this.CurrentSelection))}GoBack(){R.PlaySound(this.AUDIO_BACK,this.AUDIO_LIBRARY),this.Visible=!1,null!=this.ParentMenu&&(this.ParentMenu.Visible=!0,this.ParentMenu._justOpened=!0,this.onMenuChange.emit(this.ParentMenu,!1)),this.onMenuClose.emit()}BindMenuToItem(e,t){e.ParentMenu=this,e.ParentItem=t,this.Children.set(t,e)}ReleaseMenuFromItem(e){if(!this.Children.has(e))return!1;const t=this.Children.get(e);return t.ParentItem=null,t.ParentMenu=null,this.Children.delete(e),!0}render(){if(this.Visible){if(this._justOpened&&(null==this._logo||this._logo.IsTextureDictionaryLoaded||this._logo.LoadTextureDictionary(),this._background.IsTextureDictionaryLoaded||this._background.LoadTextureDictionary(),this._descriptionRectangle.IsTextureDictionaryLoaded||this._descriptionRectangle.LoadTextureDictionary(),this._upAndDownSprite.IsTextureDictionaryLoaded||this._upAndDownSprite.LoadTextureDictionary()),this._mainMenu.Draw(),this.ProcessMouse(),this.ProcessControl(),this._background.size=this.MenuItems.length>this.MaxItemsOnScreen+1?new m(431+this.WidthOffset,38*(this.MaxItemsOnScreen+1)):new m(431+this.WidthOffset,38*this.MenuItems.length),this._background.Draw(),this.MenuItems[this._activeItem%this.MenuItems.length].Selected=!0,""!==this.MenuItems[this._activeItem%this.MenuItems.length].Description){this.RecalculateDescriptionPosition();let e=this.MenuItems[this._activeItem%this.MenuItems.length].Description;this._descriptionText.caption=e;const t=this._descriptionText.caption.split("\n").length;this._descriptionRectangle.size=new m(431+this.WidthOffset,25*t+15),this._descriptionBar.Draw(),this._descriptionRectangle.Draw(),this._descriptionText.Draw()}if(this.MenuItems.length<=this.MaxItemsOnScreen+1){let e=0;for(const t of this.MenuItems)t.SetVerticalPosition(38*e-37+this.extraOffset),t.Draw(),e++;this._counterText&&this.counterOverride&&(this._counterText.caption=this.counterPretext+this.counterOverride,this._counterText.Draw())}else{let t=0;for(let s=this._minItem;s<=this._maxItem;s++){var e=this.MenuItems[s];e.SetVerticalPosition(38*t-37+this.extraOffset),e.Draw(),t++}if(this._extraRectangleUp.size=new m(431+this.WidthOffset,18),this._extraRectangleDown.size=new m(431+this.WidthOffset,18),this._upAndDownSprite.pos=new u(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(),this._counterText){if(this.counterOverride)this._counterText.caption=this.counterPretext+this.counterOverride;else{const e=this.CurrentSelection+1+" / "+this.MenuItems.length;this._counterText.caption=this.counterPretext+e}this._counterText.Draw()}}this._logo.Draw()}}}exports.Menu=T,exports.UIMenuItem=I,exports.UIMenuListItem=M,exports.UIMenuCheckboxItem=w,exports.UIMenuSliderItem=O,exports.BadgeStyle=h,exports.Point=u,exports.Size=m,exports.Color=a,exports.Font=r,exports.ItemsCollection=S,exports.ListItem=x}]); \ No newline at end of file