CelestialBody SetupCelestialBody(CelestialBody prefab, CelestialBody parent, float distance, float size, float rotationSpeed, float orbitSpeed, string name, int planetNum, Races spec, int pop) //creates the planet
    {
        CelestialBody planetInstance = Instantiate(prefab, parent.transform.position + Vector3.forward * distance, transform.rotation) as CelestialBody;                                             //creates the object

        planetInstance.transform.localScale = Vector3.one * size;                                                                                                                                    //sets values
        planetInstance.speed = rotationSpeed;

        //Setting Variables in Celestial Body **PROB WON'T NEED LATER ON**
        planetInstance.planetDisFromSun    = distance;
        planetInstance.planetRotationSpeed = rotationSpeed;
        planetInstance.planetSize          = size;
        planetInstance.planetNum           = planetNum;
        planetInstance.nameCele            = name;
        planetInstance.species             = spec;
        planetInstance.name = name;

        GameObject planetStrut = new GameObject("PlanetStrut");     //create another object tied to the planet

        planetStrut.transform.position = parent.transform.position; //sets information to it
        CelestialBody planetStrutCeletialBody = planetStrut.AddComponent <CelestialBody>();

        planetStrutCeletialBody.speed   = orbitSpeed;
        planetInstance.transform.parent = planetStrut.transform;
        planetStrut.transform.parent    = parent.transform;

        //*****Creates a trail for the planets......not needed anymore as orbit lines have been drawn
        Color planetColour = new Color(Random.value, Random.value, Random.value);

        TrailRenderer trail = planetInstance.GetComponentInChildren <TrailRenderer>();

        if (trail != null)
        {
            trail.material.color = planetColour;
            trail.startWidth     = planetInstance.transform.lossyScale.magnitude / 2.0f;
            trail.endWidth       = 0.0f;
        }
        /********************************************************************/
        //create orbit lines
        SetUpOrbit(parent, planetInstance, planetColour, distance);
        //Adds the celesial bodies to a list
        ObjectList.celestialBodies.Add(planetInstance);

        return(planetInstance);
    }
    CelestialBody SetupCelestialBody(CelestialBody prefab, CelestialBody parent, float distance, float size, float rotationSpeed, float orbitSpeed)      // planet create
    {
        CelestialBody planetInstance = Instantiate(prefab, parent.transform.position + Vector3.forward * distance, transform.rotation) as CelestialBody; //creates the object

        planetInstance.transform.localScale = Vector3.one * size;                                                                                        //sets values
        planetInstance.speed = rotationSpeed;

        GameObject planetStrut = new GameObject("PlanetStrut");//create another object tied to the planet

        planetStrut.transform.position = parent.transform.position;
        CelestialBody planetStrutCeletialBody = planetStrut.AddComponent <CelestialBody>();

        planetStrutCeletialBody.speed   = orbitSpeed;
        planetInstance.transform.parent = planetStrut.transform;
        planetStrut.transform.parent    = parent.transform;


        //*****Creates a trail for the planets......not needed anymore as orbit lines have been drawn
        Color planetColour = new Color(Random.value, Random.value, Random.value);

        TrailRenderer trail = planetInstance.GetComponentInChildren <TrailRenderer>();

        if (trail != null)
        {
            trail.material.color = planetColour;
            trail.startWidth     = planetInstance.transform.lossyScale.magnitude / 2.0f;
            trail.endWidth       = 0.0f;
        }

        planetInstance.GetComponent <Renderer>().material.color = planetColour;
        /********************************************************************/

        //create orbit lines
        SetUpOrbit(parent, planetInstance, planetColour, distance);


        return(planetInstance);
    }
 // Runtime Constructor, takes Celestial Body
 public LightShifterLoader(CelestialBody body)
 {
     lsc = body.GetComponentInChildren<LightShifter>();
 }
Example #4
0
 // Runtime Constructor, takes Celestial Body
 public LightShifterLoader(CelestialBody body)
 {
     lsc = body.GetComponentInChildren <LightShifter>();
 }