update NativeUI, close interaction menu when submitting input field

This commit is contained in:
hydrant
2019-05-08 17:33:38 +02:00
parent 07a7f25730
commit e28003ea39
3 changed files with 31 additions and 32 deletions

View File

@@ -31,7 +31,7 @@ export default function (globalData: GlobalData) {
if (faction) {
factionItem.SetRightLabel(faction);
menu.AddItem(factionItem);
menu.BindMenuToItem(getFactionMenu(faction), factionItem);
menu.BindMenuToItem(getFactionMenu(faction, menu), factionItem);
}
if (group) {
@@ -43,14 +43,23 @@ export default function (globalData: GlobalData) {
var items: Array<string> = new Array<string>();
if (factionInvite) items.push("Fraktion");
if (groupInvite) items.push("Gruppe");
var acceptItem = new UIMenuListItem("Einladung annehmen", "", new ItemsCollection(items));
var acceptItem: NativeUI.UIMenuListItem;
if (items.length !== 0) menu.AddItem(acceptItem);
if (items.length !== 0) {
acceptItem = new UIMenuListItem("Einladung annehmen", "", new ItemsCollection(items));
menu.AddItem(acceptItem);
}
menu.Visible = true;
mp.gui.chat.show(false);
globalData.Interaction = true;
menu.ItemSelect.on((item, index) => {
if (item === acceptItem) {
mp.events.callRemote("CLIENT:InteractionMenu_AcceptInvite", acceptItem.SelectedValue);
}
});
menu.MenuClose.on(() => {
globalData.Interaction = false;
mp.gui.chat.show(true);
@@ -92,7 +101,7 @@ export default function (globalData: GlobalData) {
return accountMenu;
}
function getFactionMenu(faction: string): NativeUI.Menu {
function getFactionMenu(faction: string, parentMenu: NativeUI.Menu): NativeUI.Menu {
var factionMenu = new NativeUI.Menu("Fraktion", faction, new Point(50, 50), null, null);
factionMenu.AddItem(new UIMenuItem("Spieler einladen"));
factionMenu.AddItem(new UIMenuItem("Spieler rauswerfen"));
@@ -104,6 +113,7 @@ export default function (globalData: GlobalData) {
input.show();
input.getValue(name => {
mp.events.callRemote("CLIENT:InteractionMenu_InviteFaction", name);
parentMenu.Close();
});
} else if (index === 1) { // Uninviten
}