using System; using BlueWest.Core.ComponentSystem; using BlueWest.Tools; using PerformanceSolution.Core.System; namespace PerformanceSolution.Artefacts { public enum CommandRequestEventType { GetUsers, GetUserById } public readonly struct CommandRequestEvent { public readonly CommandRequestEventType CommandRequestEventType; public readonly int Id; public CommandRequestEvent(CommandRequestEventType commandRequestEventType, int id = 0) { CommandRequestEventType = commandRequestEventType; Id = id; } } public class AccountArtefact : Artefact, EventListener { public AccountArtefact() { Frequency = ArtefactFrequency.T10Hz; LoopEnabled = false; } protected override void Start() { _eventManager.EventStartListening(this); } private void GetAllUsersInConsole() { /*var data = MemoryData.UserList; if (data != null) { Console.WriteLine(MemoryData.UserList.ToString()); }*/ } private void GetUserByIdInConsole(int id) { /*var user = MemoryData.GetUserById(id); if (user != null) { Console.WriteLine(user.ToString()); }*/ } public void OnEvent(CommandRequestEvent commandRequestEvent) { switch (commandRequestEvent.CommandRequestEventType) { case CommandRequestEventType.GetUserById: GetUserByIdInConsole(commandRequestEvent.Id); break; case CommandRequestEventType.GetUsers: GetAllUsersInConsole(); break; } } } }