public override void ReceiveMessage(IGameMessage msg)
        {
            switch (msg.EventId)
            {
            case (int)MessageId.ItemAction:
            {
                var itemMsg = msg.AsItemAction();
                var item    = itemMsg.GetItem();
                item.Id.OnAction(Parent, itemMsg.Container, itemMsg.ItemIndexInContainer, itemMsg.Interface, item, (int)itemMsg.ItemActionType);
                break;
            }

            case (int)MessageId.ItemOnItemAction:
            {
                var itemMsg = msg.AsItemOnItemAction();
                itemMsg.GetItemA().Id.UseWith(Parent, itemMsg.GetItemB());
                break;
            }
            }
        }