void PlaceItemToPreviousePlace(RaycastHit hit) { foreach (KeyValuePair <string, Vector3> kvp in itemsOnTablePreviousePos) { if (hit.collider.name == kvp.Key) { hit.transform.position = kvp.Value; foreach (KeyValuePair <string, string> kvp1 in itemsOnPoint) { if (hit.collider.name == kvp1.Key) { foreach (KeyValuePair <string, bool> kvp2 in positionPoint) { if (kvp1.Value == kvp2.Key) { positionPoint[kvp2.Key] = false; itemsOnPoint.Remove(kvp1.Key); itemPlaceOnTable.Remove(hit.collider.name); Broadcaste.ItemRemoveFromTable(hit.collider.name); //broadcaste message witch list items Broadcaste.ItemOnTable(itemPlaceOnTable); break; } } break; } } break; } } }
void PlaceItemToFreePoint(RaycastHit hit) { //add items to table dictionary //check for free position point foreach (KeyValuePair <string, bool> kvp in positionPoint) { if (kvp.Value == false) { GameObject go = GameObject.Find(kvp.Key); hit.transform.position = go.transform.position; positionPoint[kvp.Key] = true; itemsOnPoint.Add(hit.collider.name, kvp.Key); itemPlaceOnTable.Add(hit.collider.name); //broadcaste message witch list items Broadcaste.ItemPlaceOnTable(hit.collider.name); Broadcaste.ItemOnTable(itemPlaceOnTable); break; } } }