public void PutObject(ServerAction response) { bool success = false; if (inventory.ContainsKey(response.objectId)) { foreach (SimObj rso in VisibleSimObjs(response.forceVisible)) { if (rso.IsReceptacle && (rso.UniqueID == response.receptacleObjectId || rso.Type == response.ReceptableSimObjType())) { SimObj so = removeObjectInventory(response.objectId); if ((!IsOpenable(rso) || IsOpen(rso)) && ((response.forceVisible && SimUtil.AddItemToReceptacle(so, rso.Receptacle)) || SimUtil.AddItemToVisibleReceptacle(so, rso.Receptacle, m_Camera))) { success = true; } else { addObjectInventory(so); } break; } } } actionFinished(success); }