Esempio n. 1
0
    private void Start()
    {
        closeContainerWindow = null;

        if (modelSizes.Count < modelStartPositions.Count)
        {
            Debug.Log("Model Sizes count on " + gameObject.name + " is less than Model Start Positions count, using last model size for remainder.");
        }

        if (modelStartPositions.Count >= modelSizes.Count)
        {
            for (int i = 0; i < modelStartPositions.Count; i++)
            {
                models.Add(gameObject.AddComponent <PGIModel>());

                if (i < modelSizes.Count)
                {
                    models[i].GridCellsX = (int)modelSizes[i].x;
                    models[i].GridCellsY = (int)modelSizes[i].y;
                }
                else
                {
                    models[i].GridCellsX = (int)modelSizes[modelSizes.Count - 1].x;
                    models[i].GridCellsY = (int)modelSizes[modelSizes.Count - 1].y;
                }
            }
        }
        else
        {
            Debug.LogError("Model Start Positions is less than Model Sizes on " + gameObject.name + " please fix.");
        }
    }
Esempio n. 2
0
 private void Update()
 {
     if (transform.parent != null)
     {
         if (closeContainerWindow != null && transform.parent.gameObject.GetComponent <ContainerHandeler>() != null)
         {
             closeContainerWindow.CloseContainer();
             closeContainerWindow = null;
         }
     }
 }
Esempio n. 3
0
    void EquipItem()
    {
        Debug.Log(_slot.Item.gameObject.name);

        CloseContainerWindow closeContainerWindow = openContainerWindows[containerNdx].GetComponent <CloseContainerWindow>();

        PGISlot windowSlot = closeContainerWindow.slot;

        while (windowSlot.Item != _slot.Item)
        {
            windowSlot.AssignItem(_slot.Item);
        }

        windowSlot.Item.TriggerEquipEvents(_slot.Model, windowSlot);

        containerHandelers[containerNdx] = _slot.Item.gameObject.GetComponent <ContainerHandeler>();
        itemContainers[containerNdx]     = closeContainerWindow.slot.gameObject.GetComponent <ItemContainer>();

        containerHandelers[containerNdx].closeContainerWindow = closeContainerWindow;

        // resize window
        closeContainerWindow.DefaultWindowSizes();

        closeContainerWindow.windowRect.sizeDelta += itemContainers[containerNdx].sizeDelta;
        //closeContainerWindow.windowRect.sizeDelta -= new Vector2(0, 50);

        panelRect = openContainerWindows[containerNdx].GetComponent <CloseContainerWindow>().panelRect;
        //panelRect.sizeDelta += new Vector2(itemContainers[containerNdx].sizeDelta.x, 0);

        panelRect.gameObject.GetComponent <DragPanel>().constraintsTransform = canvasRect;

        if (!openContainerWindows[containerNdx].activeInHierarchy)
        {
            openContainerWindows[containerNdx].SetActive(true);
        }

        closeContainerWindow.icon.sprite = null;
        closeContainerWindow.icon.sprite = _slot.Item.Icon;

        openContainerWindows[containerNdx].transform.SetSiblingIndex(0);
        openContainerWindows[containerNdx].transform.SetSiblingIndex(openContainerWindows[containerNdx].transform.parent.transform.childCount - 1);

        IncrementNdx();
    }
Esempio n. 4
0
    public void OpenContainer(PointerEventData eventData, PGISlot slot)
    {
        if (eventData.button != PointerEventData.InputButton.Left)
        {
            return;
        }

        if (slot.Item != null && slot.Item.gameObject.transform.parent != null && slot.Item.gameObject.transform.parent.gameObject.GetComponent <ContainerHandeler>() != null)
        {
            Debug.Log("IM IN A BOX NO CAN OPEN");
            return;
        }

        Debug.Log("CLICK");
        timer = maxTimer;

        if (eventData.button == PointerEventData.InputButton.Left)
        {
            clicks++;
        }

        if (clicks >= 2)
        {
            if (slot.Item != null && slot.Item.gameObject.GetComponent <ContainerHandeler>() != null)
            {
                int ndx = -1;
                for (int i = 0; i < openContainerWindows.Length; i++)
                {
                    if (openContainers[i] == slot.Item.gameObject)
                    {
                        ndx = i;
                    }
                }

                if (ndx != -1)
                {
                    Debug.Log("CONTAINER ALLREADY OPEN");

                    openContainerWindows[ndx].transform.SetSiblingIndex(openContainerWindows[ndx].transform.parent.transform.childCount - 1);

                    if (!openContainerWindows[ndx].activeInHierarchy)
                    {
                        Debug.Log("CONTAINER WINDOW WAS CLOSED");

                        CloseContainerWindow closeContainerWindow = openContainerWindows[ndx].GetComponent <CloseContainerWindow>();

                        // resize window
                        closeContainerWindow.DefaultWindowSizes();

                        RectTransform containerRect = openContainerWindows[ndx].GetComponent <RectTransform>();
                        containerRect.sizeDelta += itemContainers[ndx].sizeDelta;

                        panelRect            = closeContainerWindow.panelRect;
                        panelRect.sizeDelta += new Vector2(itemContainers[ndx].sizeDelta.x, 0);

                        panelRect.gameObject.GetComponent <DragPanel>().constraintsTransform = canvasRect;

                        containerHandelers[ndx].closeContainerWindow = closeContainerWindow;

                        openContainerWindows[ndx].SetActive(true);
                        closeContainerWindow.icon.sprite = null;
                        closeContainerWindow.icon.sprite = slot.Item.Icon;
                    }
                }
                else
                {
                    Debug.Log("WORKS");

                    if (openContainerWindows[containerNdx] != null)
                    {
                        for (int i = 0; i < openContainerWindows.Length; i++)
                        {
                            if (!openContainerWindows[i].activeInHierarchy)
                            {
                                containerNdx = i;
                                break;
                            }
                        }
                    }

                    _slot = slot;

                    openContainers[containerNdx] = _slot.Item.gameObject;

                    if (openContainerWindows[containerNdx] == null)
                    {
                        openContainerWindows[containerNdx] = Instantiate(openContainerPreFab, playerInventoryObject.transform.parent.transform);
                    }

                    Invoke("EquipItem", 0.1f);

                    CloseContainerWindow thing = openContainerWindows[containerNdx].GetComponent <CloseContainerWindow>();
                    if (thing == null)
                    {
                        Debug.Log("CloseContainerWindow missing!!");
                    }
                    else
                    {
                        thing.creator = this;
                    }
                }
            }
            else
            {
                Debug.Log("NOT A CONTAINER");
            }
        }
    }