From a59843753e781991a5e5f11f190a88bb8e851bf2 Mon Sep 17 00:00:00 2001 From: VegaZ Date: Mon, 4 Mar 2019 20:52:50 +0100 Subject: [PATCH] Add Sorting Algorythm --- .../Interaction/factioninteraction.js | 102 ++++++++++-------- ReallifeGamemode.Client/Player/keys.js | 4 +- .../Properties/launchSettings.json | 4 +- 3 files changed, 61 insertions(+), 49 deletions(-) diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.js b/ReallifeGamemode.Client/Interaction/factioninteraction.js index bb5b3384..3999506d 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.js +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.js @@ -4,6 +4,7 @@ var tasks; var initTasks; var newTasks; var sorting = 0; +var firstSorting = true; var activeTask = false; var activeCheckpoint; var taskStart; @@ -11,7 +12,7 @@ var taskFinish; var taskRange; var ambulanceImagePos; var rangeLeft; -var sortText = "Nach Uhrzeit" +var sortText; const NativeUI = require("nativeui"); const Menu = NativeUI.Menu; @@ -96,10 +97,13 @@ mp.events.add("showFactionInteraction", (userFactionId, userFactionName, isFacti mp.events.add("showMedicTasks", (type, taskList) => { - tasks = JSON.parse(taskList); + tasks = JSON.parse(taskList); if (sorting === 0) { initTasks = tasks; - } + } + + mp.events.call("sortFactionTasks", false); + mp.gui.chat.activate(false); globalData.Interaction = true; switch (type) { @@ -121,7 +125,7 @@ mp.events.add("showMedicTasks", (type, taskList) => { backItem.BackColor = new Color(213, 0, 0); backItem.HighlightedBackColor = new Color(229, 57, 53); reviveTaskMenu.AddItem(backItem); - + reviveTaskMenu.ItemSelect.on((item, index) => { if (item === backItem) { reviveTaskMenu.Visible = false; @@ -160,52 +164,60 @@ mp.events.add("showMedicTasks", (type, taskList) => { } }); -mp.events.add("sortFactionTasks", () => { - newTasks = tasks; - if (sorting < 4) { - sorting++; +mp.events.add("sortFactionTasks", (sortByKey) => { + if (firstSorting) { + sortText = "Nach Uhrzeit"; + firstSorting = false; + mp.gui.chat.push("Init Sort"); + return; } else { - sorting = 0; - } - switch (sorting) { - case 0: //Standartsortierung + if (sortByKey) { + if (sorting < 1) { + sorting++; + } else { + sorting = 0; + } + + switch (sorting) { + case 0: //Standartsortierung - reviveTaskMenu.Close(); - factionInteractionMenu.Close(); - mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks)); - sortText = "Nach Uhrzeit"; - break; + reviveTaskMenu.Close(); + factionInteractionMenu.Close(); + sortText = "Nach Uhrzeit"; + mp.events.call("showMedicTasks", 0, JSON.stringify(initTasks)); + break; - case 1: //Sortierung nach Metern (aufsteigend) - - for (var d = 0; d < newTasks.length; d++) { - for (var e = 0; e < newTasks.length - 1; e++) { - if (getDistance1(e) > getDistance2(e + 1)) { - var tempTask = newTasks[e]; - newTasks[e] = newTasks[e + 1]; - newTasks[e + 1] = tempTask; - mp.gui.chat.push("SWITCH"); + case 1: //Sortierung nach Metern (aufsteigend) + for (var d = 0; d < tasks.length; d++) { + for (var e = 0; e < tasks.length - 1; e++) { + if (getDistance1(e) > getDistance2(e + 1)) { + var tempTask = tasks[e]; + tasks[e] = tasks[e + 1]; + tasks[e + 1] = tempTask; + mp.gui.chat.push("SWITCH"); + } + } } - } - } - sortText = "Entfernung aufsteigend"; - reviveTaskMenu.Close(); - factionInteractionMenu.Close(); - mp.events.call("showMedicTasks", 0, JSON.stringify(newTasks)); - break; + reviveTaskMenu.Close(); + factionInteractionMenu.Close(); + sortText = "Entfernung aufsteigend"; + mp.events.call("showMedicTasks", 0, JSON.stringify(tasks)); + break; - //case 2: //Sortierung nach Metern (absteigend) - // mp.gui.chat.push("Sorting 2"); - // sortText = "Entfernung absteigend"; - // break; - //case 3: //Sortierung nach Zeit (aufsteigend) - // mp.gui.chat.push("Sorting 3"); - // sortText = "Restzeit aufsteigend"; - // break; - //case 4: //Sortierung nach Zeit (absteigend) - // mp.gui.chat.push("Sorting 4"); - // sortText = "Restzeit absteigend"; - // break; + //case 2: //Sortierung nach Metern (absteigend) + // mp.gui.chat.push("Sorting 2"); + // sortText = "Entfernung absteigend"; + // break; + //case 3: //Sortierung nach Zeit (aufsteigend) + // mp.gui.chat.push("Sorting 3"); + // sortText = "Restzeit aufsteigend"; + // break; + //case 4: //Sortierung nach Zeit (absteigend) + // mp.gui.chat.push("Sorting 4"); + // sortText = "Restzeit absteigend"; + // break; + } + } } }); diff --git a/ReallifeGamemode.Client/Player/keys.js b/ReallifeGamemode.Client/Player/keys.js index 092764cb..63f61462 100644 --- a/ReallifeGamemode.Client/Player/keys.js +++ b/ReallifeGamemode.Client/Player/keys.js @@ -66,8 +66,8 @@ mp.keys.bind(0x62, false, function () { //NUM5 //Fraktionsinteraktion (Tasks sortieren) mp.keys.bind(0x65, false, function () { - if (!globalData.InChat) { - mp.events.call("sortFactionTasks"); + if (!globalData.InChat && globalData.Interaction) { + mp.events.call("sortFactionTasks", true); } }); diff --git a/ReallifeGamemode.Server/Properties/launchSettings.json b/ReallifeGamemode.Server/Properties/launchSettings.json index 4d281293..ed634e07 100644 --- a/ReallifeGamemode.Server/Properties/launchSettings.json +++ b/ReallifeGamemode.Server/Properties/launchSettings.json @@ -2,8 +2,8 @@ "profiles": { "ReallifeGamemode.Server": { "commandName": "Executable", - "executablePath": "S:\\RAGEMP\\server-files\\server.exe", - "workingDirectory": "S:\\RAGEMP\\server-files\\" + "executablePath": "C:\\Users\\manue\\Desktop\\RageMP\\server-files\\server.exe", + "workingDirectory": "C:\\Users\\manue\\Desktop\\RageMP\\server-files" } } } \ No newline at end of file