Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectBackup/C#/FiveM/TaxiJob/TaxiJob.Client/Handler/CloakroomHandler.cs
2022-11-12 13:10:03 +01:00

76 lines
2.7 KiB
C#

using System.Collections.Generic;
using CitizenFX.Core;
using CitizenFX.Core.Native;
using CitizenFX.Core.UI;
using Nexd.ESX.Client;
using TaxiJob.Client.Extensions;
namespace TaxiJob.Client.Handler {
public static class CloakroomHandler {
public static void OnTick() {
var dist = World.GetDistance(Game.PlayerPed.Position, TaxiJob.Config.Cloakroom.Position);
if (dist >= TaxiJob.Config.DrawDistance) return;
TaxiJob.Config.Cloakroom.Render();
if (dist <= TaxiJob.Config.Cloakroom.Size.X) {
Screen.DisplayHelpTextThisFrame("Drücke ~INPUT_CONTEXT~ um dich umzuziehen");
if (Game.IsControlJustReleased(0, Control.Context))
OpenMenu();
}
}
private static async void OpenMenu() {
var skins = await TaxiJob.ServerCallback2Results("esx_skin:getPlayerSkin");
var sex = (int)skins.first.sex;
var menuData = new ESX.UI.MenuData {
title = "Umkleide",
align = "top-left",
elements = new List<ESX.UI.MenuElement> {
new ESX.UI.MenuElement {
label = "Zivilkleidung",
name = "default"
},
new ESX.UI.MenuElement {
label = "Arbeitskleidung",
name = "work"
}
}
};
Game.PlayerPed.Freeze(true);
ESX.UI.Menu.CloseAll();
ESX.UI.Menu.Open("default", API.GetCurrentResourceName(), "cloakroom", menuData, (dData, dMenu) => {
var data = new ESX.UI.MenuData(dData);
var menu = new ESX.UI.Menu(dMenu);
if (data.current.name == "default") {
BaseScript.TriggerEvent("skinchanger:loadSkin", skins.first);
TaxiJob.InDuty = false;
}
if (data.current.name == "work") {
if (sex == 0) {
BaseScript.TriggerEvent("skinchanger:loadSkin", skins.second.skin_male);
}
if (sex == 1) {
BaseScript.TriggerEvent("skinchanger:loadSkin", skins.second.skin_female);
}
TaxiJob.InDuty = true;
}
menu.Close();
Game.PlayerPed.Freeze(false);
}, (dData, dMenu) => {
var menu = new ESX.UI.Menu(dMenu);
menu.Close();
Game.PlayerPed.Freeze(false);
});
}
}
}