private void AddItem(ItemPO itemPO) { if (isItemEdited) { return; } GameObject itemGO = null; itemGO = Instantiate(Resources.Load("Prefabs/Items/" + itemPO.name)) as GameObject; ItemObject item = itemGO.AddComponent <ItemObject>(); item.Init(itemPO); SuspendItem suspendItem = itemGO.AddComponent <SuspendItem>(); suspendItem.Init(); suspendItem.OnClick = ClickItem; SetEdited(item); Direction dir = room.ShowWallsDirection()[0]; SetCurrentItemDirection(item, dir); }
private void PlaceItem() { if (!isItemEdited) { return; } if (!editedItem.CanPlaced) { Debug.LogWarning("Current item can not be placed!"); return; } room.PlaceItem(currentItem); // after Destroy(editedItem); SuspendItem suspendItem = currentItem.gameObject.GetComponent <SuspendItem>(); suspendItem.enabled = true; Reset(); studioPanel.Back(); }
private void SetEdited(ItemObject item) { isItemEdited = true; studioPanel.SetMode(StudioMode.EditItem); currentItem = item; editedItem = item.gameObject.AddComponent <EditedItem>(); editedItem.Init(); room.RefreshGrids(true, item.Type); editedItem.OnDragBefore = HandleItemBeginDrag; editedItem.OnDrag = HandleItemDrag; editedItem.OnDragAfter = HandleItemEndDrag; SuspendItem suspendItem = item.gameObject.GetComponent <SuspendItem>(); suspendItem.enabled = false; gridGroup.SetActive(true); gridGroup.SetGrids(item); gridGroup.SetTransform(item.Item); }