// Start is called before the first frame update public DiceDot(DICETYPE d) { type = d; }
public void Change(int num, Transform t = null) { int tmpNum = number; number = num; if (number == 0) { foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().Destroy(); } dots.RemoveRange(0, tmpNum); image.color = new Color(255, 255, 255); type = DICETYPE.DEFAULT; return; } Transform newDot; type = RandomDiceEnum <DICETYPE>(); switch (type) { case DICETYPE.FIRE: image.color = new Color(255, 0, 0, 255); newDot = Instantiate(dicedotPrefab, transform.position, Quaternion.identity); newDot.SetParent(gameObject.transform); newDot.localScale = new Vector3(1, 1, 1); dots.Add(newDot); foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().SetDot(); } break; case DICETYPE.METAL: image.color = new Color(0, 0, 0, 255); newDot = Instantiate(dicedotPrefab, transform.position, Quaternion.identity); newDot.SetParent(gameObject.transform); newDot.localScale = new Vector3(1, 1, 1); dots.Add(newDot); foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().SetDot(); } break; case DICETYPE.POISON: image.color = new Color(0, 255, 0, 255); newDot = Instantiate(dicedotPrefab, transform.position, Quaternion.identity); newDot.SetParent(gameObject.transform); newDot.localScale = new Vector3(1, 1, 1); dots.Add(newDot); foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().SetDot(); } break; case DICETYPE.THUNDER: image.color = new Color(185, 185, 0, 255); newDot = Instantiate(dicedotPrefab, transform.position, Quaternion.identity); newDot.SetParent(gameObject.transform); newDot.localScale = new Vector3(1, 1, 1); dots.Add(newDot); foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().SetDot(); } break; case DICETYPE.WIND: image.color = new Color(0, 230, 255, 255); newDot = Instantiate(dicedotPrefab, transform.position, Quaternion.identity); newDot.SetParent(gameObject.transform); newDot.localScale = new Vector3(1, 1, 1); dots.Add(newDot); foreach (Transform dd in dots) { dd.GetComponent <DiceDot>().SetDot(); } break; } switch (number) { case 1: dots[0].transform.position = transform.position; break; case 2: dots[0].transform.position = (transform.position + new Vector3(7.5f, 7.5f, 0f)); dots[1].transform.position = (transform.position + new Vector3(-7.5f, -7.5f, 0f)); break; case 3: dots[0].transform.position = (transform.position + new Vector3(7.5f, 7.5f, 0f)); dots[1].transform.position = (transform.position + new Vector3(-7.5f, -7.5f, 0f)); dots[2].transform.position = (transform.position); break; case 4: dots[0].transform.position = (transform.position + new Vector3(7.5f, 7.5f, 0f)); dots[1].transform.position = (transform.position + new Vector3(-7.5f, -7.5f, 0f)); dots[2].transform.position = (transform.position + new Vector3(-7.5f, 7.5f, 0f)); dots[3].transform.position = (transform.position + new Vector3(7.5f, -7.5f, 0f)); break; case 5: dots[0].transform.position = (transform.position + new Vector3(7.5f, 7.5f, 0f)); dots[1].transform.position = (transform.position + new Vector3(-7.5f, -7.5f, 0f)); dots[2].transform.position = (transform.position + new Vector3(-7.5f, 7.5f, 0f)); dots[3].transform.position = (transform.position + new Vector3(7.5f, -7.5f, 0f)); dots[4].transform.position = (transform.position); break; case 6: dots[0].transform.position = (transform.position + new Vector3(-5.0f, 5.0f, 0f)); dots[1].transform.position = (transform.position + new Vector3(-5.0f, 0.0f, 0f)); dots[2].transform.position = (transform.position + new Vector3(-5.0f, -5.0f, 0f)); dots[3].transform.position = (transform.position + new Vector3(5.0f, 5.0f, 0f)); dots[4].transform.position = (transform.position + new Vector3(5.0f, 0.0f, 0f)); dots[5].transform.position = (transform.position + new Vector3(5.0f, -5.0f, 0f)); break; } }