* Prototype that's mostly borked rather than completely borked * ECS inserting mats * Partial ECS mostly done, needs cleanup and visualizer * Replace timers * Power visualizes at least * First ""working"" version * Clean up all lathes * Colors * Fix animation timing * Fixes greyscale, adds a bunch of colors * Give every (used) material a color * Made most lathes take long enough you can at least see there's some sort of animation * Insertion feedback popup * Sound for circuit printer and uniform printer * Fix queueing, optimize update * Remove mono crash * cleanup * Fix test failure * Techfab inserting sprite * Cleanup and commenting * Fix bug in CanProduce check * Fix UI resolves * Mirror review stuff
95 lines
2.9 KiB
C#
95 lines
2.9 KiB
C#
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.Lathe;
|
|
|
|
/// <summary>
|
|
/// Sent to the server to sync material storage and the recipe queue.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheSyncRequestMessage : BoundUserInterfaceMessage
|
|
{
|
|
public LatheSyncRequestMessage()
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the server to sync the lathe's technology database with the research server.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheServerSyncMessage : BoundUserInterfaceMessage
|
|
{
|
|
public LatheServerSyncMessage()
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the server to open the ResearchClient UI.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheServerSelectionMessage : BoundUserInterfaceMessage
|
|
{
|
|
public LatheServerSelectionMessage()
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the client when the lathe is producing a recipe.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheProducingRecipeMessage : BoundUserInterfaceMessage
|
|
{
|
|
public readonly string ID;
|
|
public LatheProducingRecipeMessage(string id)
|
|
{
|
|
ID = id;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the client when the lathe stopped/finished producing a recipe.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheStoppedProducingRecipeMessage : BoundUserInterfaceMessage
|
|
{
|
|
public LatheStoppedProducingRecipeMessage()
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the client to let it know about the recipe queue.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheFullQueueMessage : BoundUserInterfaceMessage
|
|
{
|
|
public readonly Queue<string> Recipes;
|
|
public LatheFullQueueMessage(Queue<string> recipes)
|
|
{
|
|
Recipes = recipes;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sent to the server when a client queues a new recipe.
|
|
/// </summary>
|
|
[Serializable, NetSerializable]
|
|
public sealed class LatheQueueRecipeMessage : BoundUserInterfaceMessage
|
|
{
|
|
public readonly string ID;
|
|
public readonly int Quantity;
|
|
public LatheQueueRecipeMessage(string id, int quantity)
|
|
{
|
|
ID = id;
|
|
Quantity = quantity;
|
|
}
|
|
}
|
|
|
|
[NetSerializable, Serializable]
|
|
public enum LatheUiKey
|
|
{
|
|
Key,
|
|
}
|