Тайминги + фикс всего.

This commit is contained in:
Іван Оніщенко
2025-01-07 18:27:35 +03:00
parent 5c7d9dd420
commit c7e31c53ab
5 changed files with 29 additions and 23 deletions

View File

@@ -17,17 +17,17 @@ namespace Content.Client._White.Administration.HoursPanelSystems;
public sealed partial class HoursPanel : DefaultWindow
{
private HoursPanelSystem _huetaSystem =new();
public HoursPanelSystem _huetaSystem;
public HoursPanel()
{
// var owner = new HoursPanelSystem(this);
var owner = _huetaSystem;
owner._panel = this;
RobustXamlLoader.Load(this);
var entityManager = IoCManager.Resolve<IEntityManager>();
_huetaSystem = entityManager.System<HoursPanelSystem>();
_huetaSystem._panel = this;
var owner = _huetaSystem;
var roles = new Dictionary<int, string>();
PlayerNameLine.OnTextChanged += _ => OnNamesChanged();
PlayerNameLine.OnTextEntered += _ => OnNameSubmited(owner, roles);
@@ -39,14 +39,20 @@ public sealed partial class HoursPanel : DefaultWindow
SaveButton.OnPressed += _ => OnSaveButtonOnPressed();
OnNamesChanged();
InitRoleList(roles);
}
public void UpdateTime(TimeSpan? time)
{
if (time == null)
TimeDisplayer.Text = $"Время игры: нет данных";
else
TimeDisplayer.Text = $"Время игры: {time}";
}
private void OnItemSelected(OptionButton.ItemSelectedEventArgs args, HoursPanelSystem owner, Dictionary<int, string> roles)
@@ -127,6 +133,8 @@ public sealed partial class HoursPanel : DefaultWindow
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"playtime_addrole {PlayerNameLine.Text} {roles[RoleOption.SelectedId]} {MinutesLine.Text}");
SaveButton.Disabled = false;
_huetaSystem.SendPlayerTimeRequest(new HoursPanelMessageToServer(PlayerNameLine.Text, roles[RoleOption.SelectedId]));
}
private void OnSaveButtonOnPressed()

View File

@@ -8,16 +8,13 @@ public sealed class HoursPanelSystem : EntitySystem
public HoursPanel? _panel;
public HoursPanelSystem()
{
}
//private HoursPanel _panel;
//public HoursPanelSystem(HoursPanel panel)
//{
// _panel = panel;
//}
public HoursPanelSystem()
{
}
public override void Initialize()
@@ -29,14 +26,14 @@ public sealed class HoursPanelSystem : EntitySystem
private void OnHoursPanelMessage(HoursPanelMessageToClient message, EntitySessionEventArgs eventArgs)
{
_panel.UpdateTime(message.Time);
_panel?.UpdateTime(message.Time);
}
public void SendPlayerTimeRequest(HoursPanelMessageToServer message)
{
var _entityManager = IoCManager.Resolve<EntityManager>();
var _che = _entityManager.System<CheZaHuetaSystem>();
{
var _entityManager = IoCManager.Resolve<EntityManager>();
var _che = _entityManager.System<CheZaHuetaSystem>();
_che.SendNetMessage(message);
//RaiseNetworkEvent(message);
// RaiseNetworkEvent(message);
}
}