public void AddCubeTypeToDisplay(CubeType type, GameObject display, List <GameObject> orbiters) { GameObject instance = Instantiate(playBox, display.transform); MeshRenderer renderer = instance.GetComponent <MeshRenderer>(); Material material = renderer.material; renderer.material.SetColor("_EmissionColor", type.GetLiveColor()); Light light = instance.GetComponentInChildren <Light>(); light.color = type.GetLiveColor(); instance.transform.parent = display.transform; instance.transform.localScale = new Vector3(OrbiterSize, OrbiterSize, OrbiterSize); float dx = Random.Range(-OrbitMax, OrbitMax); float dy = Random.Range(-OrbitMax, OrbitMax); float dz = Random.Range(-OrbitMax, OrbitMax); Vector3 position = new Vector3(display.transform.position.x + dx, display.transform.position.y + dy, display.transform.position.z + dz); //Debug.Log("position of display : " + display.transform.position); //Debug.Log("Should shift by: " + dx + " " + dy + dz); //Debug.Log("position of new minicube : " + position); instance.transform.position = position; instance.GetComponent <Rigidbody>().isKinematic = false; instance.GetComponent <Rigidbody>().useGravity = false; instance.GetComponent <Rigidbody>().angularDrag = 0; orbiters.Add(instance); }
private void SetCubeDisplayColors(CubeType cubeType) { Color color = cubeType.GetLiveColor(); Debug.Log("Changing particle color to " + color); ParticleSystem sys1 = SphereDisplayer.GetComponentInChildren <ParticleSystem>(); ParticleSystem sys2 = SecondarySphereDisplayer.GetComponentInChildren <ParticleSystem>(); ParticleSystem.MainModule settings = sys1.main; settings.startColor = new ParticleSystem.MinMaxGradient(new Color(color.r, color.g, color.b, 255)); settings = sys2.main; settings.startColor = new ParticleSystem.MinMaxGradient(new Color(color.r, color.g, color.b, 255)); }