namespace Content.Shared.Machines.Events;
///
/// This event is raised when the assembled state of a Multipart machine changes.
/// This includes when optional parts are found, parts become unanchored, or move
/// within a construction graph.
///
/// Entity that is bound to the multipart machine.
/// Assembled state of the machine.
/// Optional user that may have caused the assembly state to change.
/// Dictionary of keys to entities of parts that have been added to this machine.
/// Dictionary of keys to entities of parts that have been removed from this machine.
[ByRefEvent]
public record struct MultipartMachineAssemblyStateChanged(
EntityUid Entity,
bool IsAssembled,
EntityUid? User,
Dictionary PartsAdded,
Dictionary PartsRemoved)
{
}