
Autore:nickklmaoUltimo aggiornamento:2025-11-12 14:48:268.9M86KB
Una biblioteca per la creazione di UI!
Mentre repoconfig viene aggiornato, così sarà questa libreria.
Puoi fare riferimento a Repoconfigure Github.
La documentazione ufficiale verrà più tardi (mi dispiace), ma ecco un frammento di codice super rapido:
MenuAPI.AddElementToMainMenu (parent = > {//`parent ` in questo scenario rappresenta il menu principale//button var repobutton=MenuAPI.CreateREPOButton("A Button ", () = > Debug.Log("I was switched to: {b}"), parent, localPosition: Vector2.zero);//Labels var repoLabel=MenuAPI.CreateREPOLabel("A Label ", parent, localPosition: new Vector2(48.3 f, 55.5 f));//toggles var repotogle = menuapi.createrepotogle (" A Toggle ", b = > Debug.Log($"I was switched to: {b}"), parent, Vector2.zero, "Left Button Text", "Right Button Text", defaultValue: true); //Avatar Previews var repoAvatarPreview = MenuAPI.CreateREPOAvatarPreview (parent, new Vector2(48.3f, 55.5f), enablebackgrounddimage:true, backgrounddimagecolor: Color.white); //slider//l'argoment/campo di precisione è il numero di decimali desiderati (0 = integer, 1 = 0.1, 2 = 0.01, ecc.)//l'argoment/campo di comportamento della barra è per la barra di sfondo visual, non influenza la funzionalità//il resto dovrebbe essere auto-esplicativo//slider float var repofloatslider=MenuAPI.CreateREPOSlider("slider float "," Description ", f = > Debug.Log($"New Float Value: {f}"), parent, localPosition: Vector2.zero, min: -100f, max: 100f, precisione: 2, defaultValue: 50f, "prefix-", "-postfix", REPOSlider.BarBehavior.UpdateWithValue); //Int Slider (No precision argument) var repoIntSliderSlider=MenuAPI.CreateREPOSlider("Int Slider "," Description ", i = > Debug.Log($"New Int Value: {i}"), parent, localPosition: Vector2.zero, min: -100, max: 100, defaultValue: 50, "prefix-", "-postfix", REPOSlider.BarBehavior.UpdateWithValue); //string option slider-in alternativa, puoi usare un delegato int----------------> (int i) = > Debug. Log($"New String Index Value: {i} ") var repoStringSlider=MenuAPI.CreateREPOSlider("String Option Slider", "Description", (string s) = > Debug.Log($"New String Value: {s} "), parent, stringOptions: [" Option A "," Option B "," Option C "], defaultOption:" a ", localPosition: Vector2.zero," prefix-","-postfix ", REPOSlider.BarBehavior.UpdateWithValue); //pagina popup//se la cache è disabilitata allora la pagina deve essere creata premendo un pulsante//se la cache è abilitata allora dovresti assegnarla a un campo e crearla solo se i campi null, altrimenti i menu si dupliceranno nel tempo var repopage=MenuAPI.CreateREPOPopupPage("Page Header ", REPOPopupPage.PresetSide.Left, shouldcachpage:false, pagedimmervisibilità:true, spazia:1.5f); //Popup Page Custom Position var repoPage=menuapi.createrepopuppage("Page Header ", shouldCachePage:false, pageDimmerVisibility:true, spacing: 1.5f, localPosition: Vector2.zero); //apre la pagina//openOnTop://se true, la pagina precedente non verrà impostata su inattiva//se false, la pagina precedente verrà impostata su inattiva repopage.openpage(openOnTop:false); //chiude questa pagina//closePagesAddedOnTop://se true, tutte le pagine aggiunte in cima chiuderanno troppo//se false, solo questa pagina chiuderà repopage.closepage(closePagesAddedOnTop:false); //imposta il padding per la maschera della casella di scorrimento repopage.maskpadding=new Padding (sinistra: 0, superiore: 0, destra: 0, inferiore: 0); //aggiunge un elemento alla pagina repopage.addelement(parent = > {//create elemento, parentela usando `parent`}); //aggiunge un elemento alla casella di scorrimento della pagina repopage.addelementtoscrollview (scrollView = > {//create elemento, genitore usando `scrollView`//impostare la posizione y di un elemento qui è inutile, verrà sovrascritto//inoltre, questo delegato richiede una recttransform per essere restituito://return newlyCreatedElement.rectTransform;}); //ogni elemento ha accesso al suo elemento scroll view, sarà null se non è stato parentato a una scroll box var repobutton=MenuAPI.CreateREPOButton("A Button ", () = > Debug.Log("I was clicked!"), parent:scroll view, localPosition: Vector2.zero); var scrollViewElement = repoButton.repoScrollViewElement; //imposta spazio sopra questo elemento quando si posiziona scrollviewelement.toppadding=50; //imposta lo spazio sotto questo elemento quando posizionato, in genere per l'elemento successivo scrollviewelement.bottompadding=50; //per nascondere/mostrare dinamicamente elementi, è necessario cambiare questo campo scrollviewelement.visibility=false; });

Scarica subito le mod
Installa LagoFast, avvia R.E.P.O. e gioca con le mod che ami.