93 lines
3.4 KiB
C#
93 lines
3.4 KiB
C#
using System;
|
|
using CitizenFX.Core;
|
|
using CitizenFX.Core.UI;
|
|
using Framework.Client.Utils;
|
|
using Framework.Shared.Models;
|
|
using NativeUI;
|
|
|
|
namespace Framework.Client.Handler {
|
|
public static class JoinHandler {
|
|
private static UIMenu _registerMenu;
|
|
private static PlayerData _data;
|
|
|
|
public static void Init() {
|
|
_registerMenu = new UIMenu("PrincepRP", "Registrierung");
|
|
Client.Menus.Add(_registerMenu);
|
|
|
|
var sex = new UIMenuItem("Geschlecht setzen", "0 -> Männlich, 1 -> Weiblich");
|
|
var height = new UIMenuItem("Größe setzen", "Wert in cm");
|
|
var firstName = new UIMenuItem("Vornamen setzen");
|
|
var lastName = new UIMenuItem("Nachnamen setzen");
|
|
var birth = new UIMenuItem("Geburtsdatum setzen", "DD.MM.JJJJ, min. 18 Jahre");
|
|
var skin = new UIMenuItem("Skin erstellen");
|
|
var done = new UIMenuItem("Charackter erstellen");
|
|
|
|
_registerMenu.AddItem(sex);
|
|
_registerMenu.AddItem(height);
|
|
_registerMenu.AddItem(firstName);
|
|
_registerMenu.AddItem(lastName);
|
|
_registerMenu.AddItem(birth);
|
|
_registerMenu.AddItem(skin);
|
|
_registerMenu.AddItem(done);
|
|
|
|
sex.Activated += async (sender, item) => {
|
|
var input = await UI.DisplayTextInput("Geschlecht setzen", 1);
|
|
if (int.TryParse(input, out var result)) {
|
|
_data.sex = result == 0;
|
|
|
|
if (_data.sex) sex.Description = "Männlich";
|
|
else sex.Description = "Weiblich";
|
|
}
|
|
else {
|
|
Screen.ShowNotification("~r~Geschlecht setzen: 0 -> Männlich, 1 -> Weiblich");
|
|
}
|
|
};
|
|
|
|
height.Activated += async (sender, item) => {
|
|
var input = await UI.DisplayTextInput("Größe setzen", 3);
|
|
if (int.TryParse(input, out var result)) {
|
|
_data.height = result;
|
|
|
|
height.Description = _data.height + "cm";
|
|
}
|
|
else {
|
|
Screen.ShowNotification("~r~Größe setzen: Wert in cm");
|
|
}
|
|
};
|
|
|
|
firstName.Activated += async (sender, item) => {
|
|
var input = await UI.DisplayTextInput("Vornamen setzen", 60);
|
|
_data.firstName = input;
|
|
firstName.Description = _data.firstName;
|
|
};
|
|
|
|
lastName.Activated += async (sender, item) => {
|
|
var input = await UI.DisplayTextInput("Nachnamen setzen", 60);
|
|
_data.lastName = input;
|
|
lastName.Description = _data.lastName;
|
|
};
|
|
|
|
birth.Activated += async (sender, item) => {
|
|
var input = await UI.DisplayTextInput("Geburtsdatum setzen", 10);
|
|
_data.birth = input;
|
|
birth.Description = _data.birth;
|
|
};
|
|
|
|
done.Activated += (sender, item) => {
|
|
// TODO: Checks
|
|
_registerMenu.Visible = false;
|
|
BaseScript.TriggerServerEvent("server:spawn:register", _data);
|
|
};
|
|
}
|
|
|
|
public static void Register() {
|
|
_data = new PlayerData();
|
|
_registerMenu.Visible = true;
|
|
}
|
|
|
|
public static void ChooseChar(dynamic[] chars) {
|
|
Debug.WriteLine("ChooseChar");
|
|
}
|
|
|
|
}
|
|
} |