Exemple #1
0
    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);
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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);
    }