using Robust.Shared.Serialization;
namespace Content.Shared.CartridgeLoader.Cartridges;
///
/// Base UI message for NanoTask interactions
///
public interface INanoTaskUiMessagePayload
{
}
///
/// Dispatched when a new task is created
///
[Serializable, NetSerializable, DataRecord]
public sealed partial class NanoTaskAddTask : INanoTaskUiMessagePayload
{
///
/// The newly created task
///
public readonly NanoTaskItem Item;
public NanoTaskAddTask(NanoTaskItem item)
{
Item = item;
}
}
///
/// Dispatched when an existing task is modified
///
[Serializable, NetSerializable, DataRecord]
public sealed partial class NanoTaskUpdateTask : INanoTaskUiMessagePayload
{
///
/// The task that was updated and its ID
///
public readonly NanoTaskItemAndId Item;
public NanoTaskUpdateTask(NanoTaskItemAndId item)
{
Item = item;
}
}
///
/// Dispatched when an existing task is deleted
///
[Serializable, NetSerializable, DataRecord]
public sealed partial class NanoTaskDeleteTask : INanoTaskUiMessagePayload
{
///
/// The ID of the task to delete
///
public readonly int Id;
public NanoTaskDeleteTask(int id)
{
Id = id;
}
}
///
/// Dispatched when a task is requested to be printed
///
[Serializable, NetSerializable, DataRecord]
public sealed partial class NanoTaskPrintTask : INanoTaskUiMessagePayload
{
///
/// The NanoTask to print
///
public readonly NanoTaskItem Item;
public NanoTaskPrintTask(NanoTaskItem item)
{
Item = item;
}
}
///
/// Cartridge message event carrying the NanoTask UI messages
///
[Serializable, NetSerializable]
public sealed class NanoTaskUiMessageEvent : CartridgeMessageEvent
{
public readonly INanoTaskUiMessagePayload Payload;
public NanoTaskUiMessageEvent(INanoTaskUiMessagePayload payload)
{
Payload = payload;
}
}