void SetGrillaLevel() { gLevelData = Data.Instance.grillaData.GetLevel(); consigna.SetActive(true); ConsignaCombinatoria cs = consigna.GetComponent <ConsignaCombinatoria> (); cs.texto.text = gLevelData.consigna; //cs.valor.text = ""+cLevelData.resultado; foreach (Transform child in gridContent) { Destroy(child.gameObject); } RectTransform rt = gemaGrid.GetComponent <RectTransform> (); gridContent.sizeDelta = new Vector2(gLevelData.size[0] * rt.sizeDelta.x, gLevelData.size[1] * rt.sizeDelta.y); respuesta.gameObject.SetActive(false); int fromX, fromY, toX, toY; fromX = fromY = toX = toY = -1; if ((int)gLevelData.levelType > 1) { fromX = UnityEngine.Random.Range(0, gLevelData.size[0] - gLevelData.filled[0]); fromY = UnityEngine.Random.Range(0, gLevelData.size[1] - gLevelData.filled[1]); toX = fromX + gLevelData.filled[0]; toY = fromY + gLevelData.filled[1]; if ((int)gLevelData.levelType == 2) { respuesta.gameObject.SetActive(true); } } grid = new int[gLevelData.size[0], gLevelData.size[1]]; for (int i = 0; i < gLevelData.size[0] * gLevelData.size[1]; i++) { GameObject go = Instantiate(gemaGrid); go.transform.SetParent(gridContent); go.transform.localPosition = Vector3.zero; go.transform.localScale = Vector3.one; go.transform.SetAsLastSibling(); GemaGrid gg = go.GetComponent <GemaGrid> (); gg.id = new Vector2(i % gLevelData.size[0], Mathf.Floor(i / gLevelData.size[1])); if ((int)gLevelData.levelType == 2) { gg.SetInteractable(false); if (gg.id.x >= fromX && gg.id.x < toX && gg.id.y >= fromY && gg.id.y < toY) { gg.SetActive(true); } } else if ((int)gLevelData.levelType == 3) { if (gg.id.x >= fromX && gg.id.x < toX && gg.id.y >= fromY && gg.id.y < toY) { grid [(int)gg.id.x, (int)gg.id.y] = 1; gg.SetInteractable(false); gg.SetActive(true); } } } totalTime = gLevelData.time * 3; }
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; }