public void RemoveRune() { if (rune != null) { rune.transform.SetParent(GameObject.Find("Runes").transform); rune.GetComponent <SphereCollider>().enabled = true; rune.GetComponent <Wanderer>().enabled = true; rune.GetComponent <Bubble>().enabled = true; rune.GetComponent <SpriteRenderer>().sortingOrder = rune.defaultSortOrder; StartCoroutine(WaitForRuneToLeave()); } }
public void InsertRune(Rune target) // Inserts slot in the slot array. { if (rune != null) { return; } if (target != null) { rune = target; rune.transform.SetParent(transform); rune.GetComponent <Wanderer>().enabled = false; rune.GetComponent <Bubble>().enabled = false; rune.GetComponent <Rigidbody>().velocity = Vector3.zero; rune.GetComponent <Rigidbody>().angularVelocity = Vector3.zero; rune.GetComponent <SphereCollider>().enabled = false; rune.transform.rotation = Quaternion.identity; rune.transform.position = transform.position; rune.GetComponent <SpriteRenderer>().sortingOrder = rune.overlaySortOrder; } if (RunePlaced != null) { RunePlaced(rune); } }
public void SummonRandomRune(Vector2 coords) { Transform nearestTile = hexGrid.FromWorldPosToTile(coords.x, coords.y); if (nearestTile.GetComponent <HexCell>().CanAcceptRune) { Rune summonedRune = Instantiate(rune, nearestTile.transform.position, Quaternion.identity).GetComponent <Rune>(); summonedRune.currentCell = nearestTile.GetComponent <HexCell>(); summonedRune.currentCell.CanAcceptRune = false; summonedRune.currentCell.rune = summonedRune; summonedRune.runeID = (int)Random.Range(0, runeSprites.Length) + 1; Debug.Log(summonedRune.runeID - 1); summonedRune.GetComponent <SpriteRenderer>().sprite = runeSprites[summonedRune.runeID - 1]; summonedRune.runeGrid = this; summonedRune.currentCell.runeID = summonedRune.runeID; summonedRune.nextCell = summonedRune.currentCell.FindRuneNextPos(); runesList.Add(summonedRune); } }