Esempio n. 1
0
    public void ConfirmCheck()
    {
        checkSelection = false;
        labelCheck.SetActive(false);

        List <ItemConnection> conns = Object.FindObjectsOfType(typeof(ItemConnection)).Select((obj) => { return((ItemConnection)obj); }).TakeWhile((conn) => {
            return(conn.GetPistaA().selected&& conn.GetPistaB().selected);
        }).ToList();

        foreach (PistaFrame pista in Object.FindObjectsOfType(typeof(PistaFrame)))
        {
            pista.selected = false;
        }

        //passa pro GetResponse

        List <SolutionScriptableObject.Solution> solutions = this.solution.GetResponse(conns);

        if (solutions.Count > 0)
        {
            SolutionScriptableObject.Solution solution = solutions[0]; //Da lista de soluções encontradas, procura a que tem mais conexões
            foreach (SolutionScriptableObject.Solution s in solutions)
            {
                if (s.conns.Length > solution.conns.Length)
                {
                    solution = s;
                }
            }

            GlobalProfile.getInstance().dialogIgnition = solution.dialogo.ToList();
            GlobalProfile.getInstance().SendMessage(solution.event_id);

            foreach (ItemConnection conn in conns)
            {
                foreach (SolutionScriptableObject.ConnStruct str in solution.conns)
                {
                    if (CompareConnections(conn, str))
                    {
                        conn.status = solution.correctness;
                    }
                }
            }

            SaveQuadro();
            fadeEffect.ExitScene(GlobalProfile.getInstance().lastScenarioBeforeInventory);
        }
        else
        {
            foreach (ItemConnection conn in conns)
            {
                PistaFrame pistaA = conn.objectA.GetComponent <PistaPin>().pista.transform.parent.GetComponent <PistaFrame>();
                PistaFrame pistaB = conn.objectB.GetComponent <PistaPin>().pista.transform.parent.GetComponent <PistaFrame>();

                Debug.Log("Pista 1: " + pistaA.item.itemID);
                Debug.Log("Pista 2: " + pistaB.item.itemID);
                Debug.Log("Conexão: " + conn.connector);
            }
        }
    }
    public void OpenMenu(PistaFrame pista, GameObject pistaSlot, ItemConnection connection, bool connectButton, bool descButton, bool removeButton)
    {
        Vector3 position = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        position.z         = 0;
        transform.position = position;
        gameObject.SetActive(true);
        selected        = pista;
        this.pistaSlot  = pistaSlot;
        this.connection = connection;

        this.connectButton.SetActive(connectButton);
        this.removeButton.SetActive(removeButton);
        this.descButton.SetActive(descButton);
    }
Esempio n. 3
0
    public void OpenMenu(PistaFrame pista, GameObject pistaSlot)
    {
        bool canDelete = true;

        foreach (ItemConnection conn in Object.FindObjectsOfType(typeof(ItemConnection)))
        {
            if (conn.status != 0)
            {
                if (pista == conn.GetPistaA() || pista == conn.GetPistaB())
                {
                    canDelete = false;
                }
            }
        }

        menu.OpenMenu(pista, pistaSlot, null, true, true, canDelete);
    }
Esempio n. 4
0
    public PistaFrame InsertPistaFrame(Vector3 position, InventoryItem item)
    {
        //Coloca o manolo no quadro
        GameObject itemQuadro = Instantiate(framePrefab);// new GameObject("Item");
        PistaFrame frame      = itemQuadro.GetComponent <PistaFrame>();

        frame.item       = item;
        frame.linhaGroup = linhaGroup;
        frame.quadro     = quadro;

        ItemSlot[] slots = content.transform.GetComponentsInChildren <ItemSlot>();
        foreach (ItemSlot slot in slots)
        {
            if (slot.item.itemID == item.itemID)
            {
                frame.originalSlot = slot.gameObject;
                break;
            }
        }

        frame.originalSlot.GetComponent <Image>().color = new Color(1, 1, 1, 0);

        //frame.originalSlot = selection.originalSlot; //Encontrar baseado no Item

        itemQuadro.transform.Find("Pista").GetComponent <Image>().sprite = item.image;
        itemQuadro.transform.Find("Text").GetComponent <Text>().text     = item.displayName;

        //Posiciona ele
        itemQuadro.transform.SetParent(quadro.content.transform, false);
        itemQuadro.transform.SetAsFirstSibling();
        itemQuadro.transform.position = position;
        itemQuadro.transform.RotateAround(itemQuadro.transform.position, new Vector3(0, 0, 1), Random.Range(-10, 10));

        GameObject pin = Instantiate(pinPrefab);

        pin.GetComponent <PistaPin>().pista = itemQuadro.transform.Find("Pin").gameObject;
        pin.transform.SetParent(quadro.content.transform, false);
        pin.transform.SetAsLastSibling();

        frame.outerPin = pin;

        return(frame);
    }