Esempio n. 1
0
 public void OnDrop(GameObject dragged)
 {
     if (showInside)
     {
         if (dragged.transform.parent != transform)
         {
             GameObject go = Instantiate(dragged);
             go.transform.SetParent(transform);
             go.transform.localPosition = Vector3.zero;
             go.transform.localScale    = Vector3.one;
             go.name = go.name + dropN;
             dropN++;
             GemaItem gi = go.GetComponent <GemaItem> ();
             //gi.image.raycastTarget = true;
             gi.GetComponent <Image> ().raycastTarget = true;
             gi.text.enabled = false;
             go.GetComponent <Draggable> ().dropable = true;
             Events.DroppedUI(dragged);
         }
         else
         {
             dragged.transform.SetAsFirstSibling();
         }
     }
     else
     {
         Events.DroppedUI(dragged);
     }
 }
Esempio n. 2
0
    void DroppedUI(GameObject dragged)
    {
        audioSource.PlayOneShot(dropIn);
        GemaItem gi = dragged.GetComponentInParent <GemaItem> ();

        sumaCentral += gi.val;
        if (sumaCentral == cLevelData.resultado)
        {
            RingDone();
        }
    }
Esempio n. 3
0
    void SetCombiLevel()
    {
        cLevelData = Data.Instance.combinatoriasData.GetLevel();
        int[] vals = cLevelData.valores.Clone() as int[];
        System.Array.Sort(vals);
        List <CombinatoriasData.Gema> gemas = new List <CombinatoriasData.Gema> ();

        foreach (CombinatoriasData.Gema g in Data.Instance.combinatoriasData.gemas)
        {
            gemas.Add(g);
        }

        Utils.Shuffle(gemas);

        for (int i = 0; i < vals.Length; i++)
        {
            GameObject slot = Instantiate(gemaSlot);
            slot.transform.SetParent(inventarioContent);
            slot.transform.localPosition = Vector3.zero;
            slot.transform.localScale    = Vector3.one;
            slot.transform.SetAsLastSibling();
            CombinatoriasData.Gema g  = gemas.Find(x => x.size == i);
            GameObject             gi = Instantiate(gemaItem);
            gi.transform.SetParent(slot.transform);
            gi.transform.localPosition = Vector3.zero;
            gi.transform.localScale    = Vector3.one;
            //gi.transform.SetAsLastSibling();*/
            GemaItem gis = gi.GetComponent <GemaItem> ();
            gis.image.sprite = g.sprite;
            gis.text.text    = "" + vals [i];
            gis.val          = vals [i];

            for (int j = 0; j < cLevelData.incluidos.Length; j++)
            {
                if (vals[i] == cLevelData.incluidos[j])
                {
                    GameObject go = Instantiate(gemaItem);
                    go.transform.SetParent(centralContent);
                    go.transform.localPosition = Vector3.zero;
                    go.transform.localScale    = Vector3.one;
                    //go.name = go.name + dropN;
                    //dropN++;
                    GemaItem git = go.GetComponent <GemaItem> ();
                    git.image.sprite = g.sprite;
                    git.val          = vals [i];
                    git.GetComponent <Image> ().raycastTarget = false;
                    git.text.enabled = false;
                    go.GetComponent <Draggable> ().dropable = false;
                    sumaCentral += vals [i];
                }
            }
        }
        consigna.SetActive(true);
        ConsignaCombinatoria cs = consigna.GetComponent <ConsignaCombinatoria> ();

        cs.texto.text = "Encerrá dentro de los anillos de poder ";
        if (cLevelData.combinaciones > 1)
        {
            cs.texto.text += cLevelData.combinaciones + " combinaciones que sumen";
        }
        else
        {
            cs.texto.text += cLevelData.combinaciones + " combinación que sume";
        }
        cs.valor.text = "" + cLevelData.resultado;
    }
Esempio n. 4
0
    void RingDone()
    {
        if (burbujasDone > 0)
        {
            int[] vals = new int[centralContent.childCount];
            for (int i = 0; i < centralContent.childCount; i++)
            {
                vals [i] = centralContent.GetChild(i).GetComponent <GemaItem> ().val;
            }
            bool repetido;
            for (int i = 0; i < burbujasDone; i++)
            {
                repetido = true;
                if (burbujas [i].combinacion.Count == vals.Length)
                {
                    System.Array.Sort(vals);
                    List <int> l = burbujas [i].combinacion;
                    for (int j = 0; j < vals.Length; j++)
                    {
                        if (vals [j] != l [j])
                        {
                            repetido = false;
                        }
                    }
                }
                else
                {
                    repetido = false;
                }

                if (repetido)
                {
                    for (int k = centralContent.childCount - 1; k > -1; k--)
                    {
                        Destroy(centralContent.GetChild(k).gameObject);
                    }
                    burbujas [i].done.SetActive(false);
                    burbujas [i].done.SetActive(true);
                    sumaCentral = 0;
                    return;
                }
            }
        }

        for (int i = centralContent.childCount - 1; i > -1; i--)
        {
            Transform t = centralContent.GetChild(i);
            t.SetParent(burbujas[burbujasDone].content.transform);
            t.localPosition = Vector3.zero;
            t.localScale    = new Vector3(0.4f, 0.4f, 0.4f);
            GemaItem gi = t.gameObject.GetComponent <GemaItem> ();
            gi.image.color = Data.Instance.levelsData.GetInProgressLevel().color;
            burbujas [burbujasDone].combinacion.Add(t.GetComponent <GemaItem> ().val);
            burbujas [burbujasDone].combinacion.Sort();
            burbujas [burbujasDone].WinEffect.SetActive(true);
        }



        burbujas [burbujasDone].done.SetActive(true);
        burbujasDone++;
        sumaCentral = 0;
        audioSource.PlayOneShot(combiOK);
        if (burbujasDone >= cLevelData.combinaciones)
        {
            Invoke("FiguraComplete", 1.0f);
        }
    }