Правки и добавления

This commit is contained in:
BIGZi0348
2025-01-01 16:43:19 +03:00
parent 79b8a5bdab
commit 8a176fc873
7 changed files with 34 additions and 13 deletions

View File

@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
xmlns:at="clr-namespace:Content.Client.Administration.UI.Tabs.AdminTab"
xmlns:wd="clr-namespace:Content.Client._White.Administration"
Margin="4"
MinSize="50 50">
<BoxContainer Orientation="Vertical">
@@ -18,7 +19,7 @@
<cc:CommandButton Command="adminlogs" Text="{Loc admin-player-actions-window-admin-logs}"/>
<cc:CommandButton Command="faxui" Text="{Loc admin-player-actions-window-admin-fax}"/>
<cc:UICommandButton Command="enableShuttleCall" Text="{Loc admin-player-actions-window-shuttle-call}" WindowType="{x:Type at:AdminShuttleCallEnableWindow}"/>
<cc:UICommandButton Command="" Text="Накрутка времени" WindowType="{x:Type at:HoursPanel }"/>
<cc:UICommandButton Text="Накрутка времени" WindowType="{x:Type wd:HoursPanel }"/>
</GridContainer>
</BoxContainer>
</Control>

View File

@@ -1,7 +1,7 @@
<DefaultWindow
xmlns="https://spacestation14.io"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Title="Накрутка времени" MinSize="300 300">
Title="Накрутка времени" MinSize="300 500">
<BoxContainer Orientation="Vertical">
<BoxContainer Orientation="Horizontal">
<Label Text="Игрок" MinWidth="100" />
@@ -17,5 +17,13 @@
<OptionButton Name="RoleOption" />
<cc:PlayerListControl Name="PlayerList" VerticalExpand="True" MinWidth="200"/>
<Button Name="SubmitButton" Text="Добавить время" />
<Button Name="SaveButton" Text="Сохранить изменения в БД" Disabled="true" Margin="0 6 0 3"/>
<BoxContainer Orientation="Vertical">
<PanelContainer StyleClasses="LowDivider" Margin="0 4 0 2" />
<BoxContainer Orientation="Horizontal" Margin="10 2 4 0" VerticalAlignment="Bottom">
<Label Text="Проверяйте консоль на результат работы" StyleClasses="WindowFooterText"
HorizontalAlignment="Left" HorizontalExpand="True" Margin="0 0 5 0" />
</BoxContainer>
</BoxContainer>
</BoxContainer>
</DefaultWindow>
</DefaultWindow>

View File

@@ -8,7 +8,7 @@ using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using static Robust.Client.UserInterface.Controls.LineEdit;
namespace Content.Client.Administration.UI.Tabs.AdminTab;
namespace Content.Client._White.Administration;
[GenerateTypedNameReferences]
[UsedImplicitly]
@@ -24,21 +24,23 @@ public sealed partial class HoursPanel : DefaultWindow
MinutesLine.OnTextChanged += UpdateButtonsText;
RoleOption.OnItemSelected += args => RoleOption.SelectId(args.Id);
SubmitButton.OnPressed += _ => OnSubmitButtonOnPressed(roles);
SaveButton.OnPressed += _ => OnSaveButtonOnPressed();
OnNamesChanged();
InitRoleList(roles);
}
private void InitRoleList(Dictionary<int, string> Roles)
private void InitRoleList(Dictionary<int, string> roles)
{
var roleInd = 0;
RoleOption.AddItem("общее", roleInd);
Roles.Add(roleInd, "Overall");
roles.Add(roleInd, "Overall");
roleInd++;
foreach (var dep in IoCManager.Resolve<IPrototypeManager>().EnumeratePrototypes<DepartmentPrototype>())
{
foreach (var role in dep.Roles)
{
RoleOption.AddItem(Loc.GetString($"Job{role.Id}"), roleInd);
Roles.Add(roleInd, $"Job{role.Id}");
roles.Add(roleInd, $"Job{role.Id}");
roleInd++;
}
}
@@ -53,21 +55,21 @@ public sealed partial class HoursPanel : DefaultWindow
private void AddMinutes(uint add)
{
OnNamesChanged();
if (!TryGetMinutes(MinutesLine.Text, out var minutes))
minutes = 0;
MinutesLine.Text = $"{minutes + add}";
UpdateButtons(minutes + add);
OnNamesChanged();
}
private void UpdateButtonsText(LineEditEventArgs obj)
{
OnNamesChanged();
if (!TryGetMinutes(obj.Text, out var minutes))
return;
UpdateButtons(minutes);
OnNamesChanged();
}
private void UpdateButtons(uint minutes)
@@ -90,5 +92,13 @@ public sealed partial class HoursPanel : DefaultWindow
{
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"playtime_addrole {PlayerNameLine.Text} {roles[RoleOption.SelectedId]} {MinutesLine.Text}");
SaveButton.Disabled = false;
}
private void OnSaveButtonOnPressed()
{
IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand(
$"playtime_save {PlayerNameLine.Text}");
SaveButton.Disabled = true;
}
}

View File

@@ -93,7 +93,7 @@ public sealed class PlayTimeAddRoleCommand : IConsoleCommand
}
_playTimeTracking.AddTimeToTracker(player, role, TimeSpan.FromMinutes(minutes));
var time = _playTimeTracking.GetOverallPlaytime(player);
var time = _playTimeTracking.GetPlayTimeForTracker(player, role);
shell.WriteLine(Loc.GetString("cmd-playtime_addrole-succeed",
("username", userName),
("role", role),

View File

@@ -70,7 +70,7 @@ JobChiefEngineer = старший инженер
JobChiefMedicalOfficer = главный врач
JobClown = клоун
JobDetective = детектив
JobBrigmedic = Бригмедик
JobBrigmedic = бригмедик
JobERTEngineer = инженер ОБР
JobERTJanitor = уборщик ОБР
JobERTLeader = лидер ОБР
@@ -108,3 +108,4 @@ JobStationEngineer = инженер
JobTechnicalAssistant = технический ассистент
JobWarden = смотритель
JobZookeeper = зоотехник
JobVisitor = посетитель

View File

@@ -6,14 +6,14 @@ parse-session-fail = Не найдена сессия для '{ $username }'
# - playtime_addoverall
cmd-playtime_addoverall-desc = Добавляет указанное число минут к общему игровому времени игрока
cmd-playtime_addoverall-help = Использование: { $command } <user name> <minutes>
cmd-playtime_addoverall-succeed = Общее игровое время { $username } увеличено на { TOSTRING($time, "dddd\\:hh\\:mm") }.
cmd-playtime_addoverall-succeed = Общее игровое время { $username } увеличено до { TOSTRING($time, "dddd\\:hh\\:mm") }.
cmd-playtime_addoverall-arg-user = <user name>
cmd-playtime_addoverall-arg-minutes = <minutes>
cmd-playtime_addoverall-error-args = Ожидается ровно два аргумента
# - playtime_addrole
cmd-playtime_addrole-desc = Добавляет указанное число минут к времени игрока на определённой роли
cmd-playtime_addrole-help = Использование: { $command } <user name> <role> <minutes>
cmd-playtime_addrole-succeed = Игровое время для { $username } / \'{ $role }\' увеличено на { TOSTRING($time, "dddd\\:hh\\:mm") }.
cmd-playtime_addrole-succeed = Игровое время для { $username } / \'{ $role }\' увеличено до { TOSTRING($time, "dddd\\:hh\\:mm") }.
cmd-playtime_addrole-arg-user = <user name>
cmd-playtime_addrole-arg-role = <role>
cmd-playtime_addrole-arg-minutes = <minutes>

View File

@@ -0,0 +1 @@
Filter = Фильтр