/**
     * Receive shelf info from the server to sync up this client.
     * */
    public unsafe void ReceiveShelfState(IntPtr packet)
    {
        ShelfState shelfData = (ShelfState)Marshal.PtrToStructure(packet, typeof(ShelfState));

        for (int i = 0; i < 14; i++)
        {
            Transform shelf = shelves[shelfData.name[i].ToString()];

            shelf.position = shelfData.shelfPos[i];
            shelf.rotation = shelfData.shelfRot[i];
        }
    }
 void Awake()
 {
     currentMotionState = MotionState.still;
     currentGrabState   = GrabState.grabable;
     currentShelfState  = ShelfState.onShelf;
 }