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>(); }
// Runtime Constructor, takes Celestial Body public LightShifterLoader(CelestialBody body) { lsc = body.GetComponentInChildren <LightShifter>(); }