/
NLObP
/
AAEmu
Обзор
Документация
Войти
/
NLObP
/
AAEmu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
AAEmu.Game/Utils/Scripts/SubCommands/Time/TimeSetSubCommand.cs
34 строки
1 KB
Roger Barreto
Considerable performance improvement changes + Fix File Scoped Namespace (#1105)
30 ноя 2024, 22:37
Не верифицирован
30 ноя 2024, 22:37
7b94e4c
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using AAEmu.Game.Core.Managers; using AAEmu.Game.Models.Game.Char; namespace AAEmu.Game.Utils.Scripts.SubCommands.Time; public class TimeSetSubCommand : SubCommandBase { public TimeSetSubCommand() { Title = "[Time Information]"; Description = "Find out what time it is"; CallPrefix = $"{CommandManager.CommandPrefix}time set"; AddParameter(new NumericSubCommandParameter<int>("hour", "hour", true)); AddParameter(new NumericSubCommandParameter<int>("minute", "minute", false)); } public override void Execute(ICharacter character, string triggerArgument, IDictionary<string, ParameterValue> parameters, IMessageOutput messageOutput) { var oldTime = TimeManager.Instance.GetTime; var hour = (int)oldTime; if (parameters.TryGetValue("hour", out var hourValue)) hour = (int)hourValue; var minute = (int)Math.Floor((oldTime - Math.Truncate(oldTime)) * 60f); if (parameters.TryGetValue("minute", out var minuteValue)) minute = minuteValue; var newTime = hour * 1f + (minute / 60f); TimeManager.Instance.Set(newTime); SendMessage(messageOutput, $"Changed game time {oldTime:F2} -> {newTime:F2} ({hour}h{minute}m)"); } }