using SS14.Shared.GameObjects; using SS14.Shared.Serialization; using System; using System.Collections.Generic; namespace Content.Shared.GameObjects { public abstract class SharedHandsComponent : Component { public sealed override string Name => "Hands"; public sealed override uint? NetID => ContentNetIDs.HANDS; public sealed override Type StateType => typeof(HandsComponentState); } // The IDs of the items get synced over the network. [Serializable] public class HandsComponentState : ComponentState { public readonly Dictionary Hands; public readonly string ActiveIndex; public HandsComponentState(Dictionary hands, string activeIndex) : base(ContentNetIDs.HANDS) { Hands = hands; ActiveIndex = activeIndex; } } /// /// A message that activates the inhand, presumed for now the activation will occur only on the active hand /// [Serializable, NetSerializable] public class ActivateInhandMsg : ComponentMessage { public ActivateInhandMsg() { Directed = true; } } }