Пример #1
0
        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);
        }
Пример #2
0
        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));
        }