// this function appears to consolidate RawTimes together // sets NewJulianDate to initial date private void AllTimesUpdate() { RawTimes = new List <double>(); foreach (GameObject OrbitManager in OrbitManagers) { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); RawTimes.AddRange(OM.RawJulianTime); } RawTimes.Sort((a, b) => a.CompareTo(b)); AllTimes = new List <double>(); double previousValue = 0; foreach (double time in RawTimes) { if (time != previousValue) { AllTimes.Add(time); previousValue = time; } } GlobalJulianDateSlider.minValue = 0; GlobalJulianDateSlider.maxValue = AllTimes.Count - 1; GlobalJulianDateSlider.value = 0; //Debug.Log("updated Alltimes"); NumbersCrunched = true; NewJulianDate = AllTimes[0]; }
public void GlobalShapeToleranceSet() { foreach (GameObject OrbitManager in OrbitManagers) //update shape tolerance on each orbit manager { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); OM.newtolerance = GlobalShapeToleranceSlider.value; } }
public void GlobalLineWidthSet() //Values for each can be set independatly. { foreach (GameObject OrbitManager in OrbitManagers) //update line width on each orbit manager { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); OM.newlinewidth = GlobalLineWidthSlider.value; } }
// currently invoked by Update() if numbers crunched // *** two other cases! // advances JulianDate by timestep (if toggled) public void OrbitUpdate() { if (GlobalRealTimeToggle.isOn) //using realtime { //Debug.Log("Updating Orbit with Real Time Values"); foreach (GameObject OrbitManager in OrbitManagers) { TimeManipulator TM = OrbitManager.GetComponent <TimeManipulator>(); TM.UseRealTime = true; TM.UpdateOrbiterPosition(); } } if (!GlobalRealTimeToggle.isOn) //not using realtime { if (UseTimeStepToggle.isOn) //using Timestep { // set NewJulian date to current JulianDate + scaled timestep increment NewJulianDate = JulianDate + (timeSteps[(int)TimeStepSlider.value] / (1 / updateFrequency)); // update JulianDateSlider // global flag fudged in so that GlobalJulianTime doesn't set NewJulianDate or play sounds timeStepMode = true; GlobalJulianDateSlider.value = IndexFromJD(AllTimes.ToArray(), NewJulianDate); timeStepMode = false; // Distribute JulianDate here if (JulianDate != NewJulianDate) { //Debug.Log("Updating Orbit with Dataset Values + timestep"); JulianDate = NewJulianDate; foreach (GameObject OrbitManager in OrbitManagers) { TimeManipulator TM = OrbitManager.GetComponent <TimeManipulator>(); TM.UseRealTime = false; TM.JulianDate = JulianDate; TM.UpdateOrbiterPosition(); } } } if (!UseTimeStepToggle.isOn) //not using timestep or realtime // slider used instead { NewJulianDate = AllTimes[(int)GlobalJulianDateSlider.value]; if (JulianDate != NewJulianDate) { //Debug.Log("Updating Orbit with Dataset Values"); JulianDate = NewJulianDate; foreach (GameObject OrbitManager in OrbitManagers) { TimeManipulator TM = OrbitManager.GetComponent <TimeManipulator>(); TM.UseRealTime = false; TM.JulianDate = JulianDate; TM.UpdateOrbiterPosition(); } } } } }
void Update() { //UserOffset = HeightSlider.value; //string valuetext = HeightSlider.value.ToString(); //HeightSliderValueText.text = valuetext + "m"; CurrentScale = JDI.CurrentScale; // REMOVE THIS PreviousScale = CurrentScale; // this always returns false? if (PreviousScale != CurrentScale) { PreviousScale = CurrentScale; Debug.Log("Updating height"); OrbitManagers = GameObject.FindGameObjectsWithTag("OrbitalManager"); Height = Vector3.Distance(this.gameObject.transform.localPosition, Pedestal.transform.localPosition); //get current furthest orbital point Y value. biggestValue RawData = new List <Vector3>(); foreach (GameObject OrbitManager in OrbitManagers) { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); RawData.AddRange(OM.RawPositions); } OrbitalYValues = new List <float>(); for (int i = 0; i < RawData.Count; i++) { OrbitalYValues.Add(RawData[i].y); } MaxDist = Mathf.Max(OrbitalYValues.ToArray()); if (MaxDist > 2.5f) { MaxDist = 2.5f; } } // if Menus open AND if Menus have NOT been taken with user // consider replacing with AND // insert conditions, including whether or not menus have been taken if ((MainSatelliteCanvas.activeSelf || MainMenuCanvas.activeSelf || LoadDataCanvas.activeSelf) && !MMUIM.takeMenuWithMe) { Offset = ActiveUIheight; } else { Offset = inactiveUIheight; } //if transform.y local pos (Height) != MaxDist + 0.5, set it to it. if (Height != MaxDist + Offset + UserOffset) { transform.localPosition = new Vector3(transform.localPosition.x, MaxDist + Offset + UserOffset, transform.localPosition.z); } }
public void UseRotation() { foreach (GameObject OrbitManager in OrbitManagers) { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); OM.UseRotation = UseRotationToggle.isOn; OM.ObjectGenerator(); } }
public void GlobalToggleTags() //global tag toggle, off by default. { foreach (GameObject OrbitManager in OrbitManagers) { OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); OM.Orbiter.GetComponent <SatelliteInteract>().CancelInvoke("DelayedExit"); OM.UITag = GlobalTagToggle.isOn; } }
//Global Line toggle - defaulted to off, as should be set by Json file //Values for each Orbit Manager able to be changed independantly. public void GlobalToggleLineDraw() { foreach (GameObject OrbitManager in OrbitManagers) { //when toggled on, if OrbitManagers > 10 - should maybe reduce Line tolerance to preserve framerate. OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>(); OM.Orbiter.GetComponent <SatelliteInteract>().CancelInvoke("DelayedExit"); OM.Line = GlobalLineToggle.isOn; OM.ObjectGenerator(); } }
public void ForcedPositionUpdate() { foreach (GameObject OrbitManager in OrbitManagers) { // null check prevents crash when JSON browser opened if (OrbitManager != null) { TimeManipulator TM = OrbitManager.GetComponent <TimeManipulator>(); TM.UpdateOrbiterPosition(); } } }
// Use this for initialization void Start() { if (ORBIT_MANAGER == null) { ORBIT_MANAGER = this; } else { Destroy(this); } PopulateOrbit(new PlanetController[0]); }
public void Realtimetoggled() { if (!GlobalRealTimeToggle.isOn) { NewJulianDate = AllTimes[(int)GlobalJulianDateSlider.value]; JulianDate = NewJulianDate; foreach (GameObject OrbitManager in OrbitManagers) { TimeManipulator TM = OrbitManager.GetComponent <TimeManipulator>(); TM.UseRealTime = false; TM.JulianDate = JulianDate; TM.UpdateOrbiterPosition(); } } }
public Game1() { graphics = new GraphicsDeviceManager(this); displayManager = new DisplayManager(); spaceManager = new SpaceManager(); sunManager = new SunManager(); orbitManager = new OrbitManager(); planetManager = new PlanetManager(); asteroidManager = new AsteroidManager(); scoreManager = new ScoreManager(); audioManager = new AudioManager(); menuManager = new MenuManager(); creditManager = new CreditManager(); Content.RootDirectory = "Content"; }
public void OnSpacebrewEvent(SpacebrewClient.SpacebrewMessage _msg) { print("Received Spacebrew Message"); print(_msg); // Look for incoming Satellite messages if (_msg.name == "launchSatellite") { if (_msg.value == "true") { GameObject go = GameObject.Find("BaseBoARd/YourObjectsGoHere/CenterOfUniverse"); OrbitManager om = go.GetComponent <OrbitManager> (); om.makeSatellite(); print("Tried to launch Satellite"); } } // Look for messages to turn the virtual lamp light on if (_msg.name == "letters") { GameObject go = GameObject.Find("MatrixContainer"); // the name of your client object MatrixMaker grid = go.GetComponent <MatrixMaker> (); grid.ParseIncomingLetter(_msg.value[0].ToString()); grid.delayLayer(); } // Look for messages to turn the virtual lamp light on if (_msg.name == "lightOn") { //print(go); if (_msg.value == "true") { GameObject go = GameObject.Find("BaseBoARd/YourObjectsGoHere/Lamp/SpacebrewSpotlight"); lightState = !lightState; go.gameObject.SetActive(lightState); } } //if (_msg.name == "letters") { //print(go); //if (_msg.value == "true") { // GameObject go = GameObject.Find ("MatrixContainer"); // the name of your client object // MatrixMaker grid = go.GetComponent <MatrixMaker> (); // grid.CreateLayer(true); // grid.ParseIncomingString(_msg.value); }
void Start() { orbitManager = OrbitManager.Instance; FaceSpriteRenderer.color = Color.white; faceSprite = FaceSpriteRenderer.sprite; GetComponent <Rigidbody>().isKinematic = true; radius = orbitManager.Radius; rotationSpeed = orbitManager.RotationSpeed; noiseVelocity = orbitManager.NoiseVelocity; noiseAmplitude = orbitManager.NoiseAmplitude; sphereY = orbitManager.SphereY; playerPos = orbitManager.playerPos; randomSeed = Random.Range(0f, 1f); this.transform.localScale = Vector3.zero; StartCoroutine(SpawnOrb(orbitManager.orbSpawnTimer)); }
public IEnumerator WaitForOrbit(Year year) { OrbitManager orbitManager = OrbitManager.GetOrbitManager(); yield return(new WaitUntil(() => OrbitManager.GetOrbitManager() != null)); orbitManager = OrbitManager.GetOrbitManager(); if (orbitManager != null) { orbitManager.PopulateOrbit(year.list_planets.ToArray()); } else { Debug.LogError("Still could not find OrbitManager to populate planets."); } /* * while (orbitManager == null) * { * yield return null; * orbitManager = OrbitManager.GetOrbitManager(); * } */ }
/* * CreateYear: Creates the year gameobject and instantiates the planets * Parameters: int yearIndex - Passes in the index of the selected year to grab from List<Year> */ public void CreateYear(int yearIndex) { //Checks if the year the user is traveling to is the Home Year. No JSON file for the home year if (yearIndex != -1) { //Gets the name of the year in the list of years string yearName = list_years[yearIndex].yr_name; //Get the year object from the List via Index Year year = list_years[yearIndex]; //Open the JSON file with the name yr_name parameter passed in //string jsonString = File.ReadAllText("VRClubUniverseData/" + yearName + ".json"); string jsonString; #if UNITY_EDITOR if (isOculus) { jsonString = File.ReadAllText(Application.dataPath + "/../Website/data/VRClubUniverseData/Oculus/" + yearName + ".json"); } else { jsonString = File.ReadAllText(Application.dataPath + "/../Website/data/VRClubUniverseData/Vive/" + yearName + ".json"); } #elif UNITY_STANDALONE if (isOculus) { jsonString = File.ReadAllText(Application.dataPath + "/../VRClubUniverseData/Oculus/" + yearName + ".json"); } else { jsonString = File.ReadAllText(Application.dataPath + "/../VRClubUniverseData/Vive/" + yearName + ".json"); } #endif //TESTING Debug.Log("Jsonstring is: " + jsonString); //Create a JSONPlanet array and read the JSON file PlanetJSON[] universe = JsonHelper.FromJson <PlanetJSON>(jsonString); //For each object in the JSONPlanet array //foreach (PlanetJSON json_planet in universe) List <string> imagePaths = new List <string>(); List <PassSprite> callbacks = new List <PassSprite>(); for (int i = 0; i < universe.Length; i++) { PlanetJSON json_planet = universe[i]; //Instantiate a Planet object with a Planet component on it GameObject planet = Instantiate(prefab_planet, planetPosition, Quaternion.identity); //Set the name of the planet game object in hierarchy planet.name = "Planet"; //Add a Planet component on the new planet game object to declare it a planet object PlanetController currPlanet = planet.GetComponent <PlanetController>(); //Set the parent of the new Planet object to be the Planets gameobject planet.transform.parent = year.planets.transform; //Set the planet's name currPlanet.data.title = json_planet.Name; //Set the planet's creator currPlanet.data.creator = json_planet.Creator; //Set the planet's description currPlanet.data.description = json_planet.Description; //Set the planet's year currPlanet.data.year = json_planet.Year.ToString(); //Set the planet's executable path currPlanet.data.executable = json_planet.Executable; //Set the planet's tags by creating a string array of the same length currPlanet.data.des_tag = new string[json_planet.Tags.Length]; //For each tag in the json planet for (int j = 0; j < json_planet.Tags.Length; j++) { // Set the tag of the current planet equal to the json tag currPlanet.data.des_tag[j] = json_planet.Tags[j]; } //Get the planet's image with path currPlanet.data.image_name = json_planet.Image; //Turn the image from path URL into a Sprite to set imagePaths.Add(ExecutableSwitch.GetFullPath(currPlanet.data.image_name, currPlanet.data.executable, currPlanet.data.year)); callbacks.Add(currPlanet.ReceiveSprite); currPlanet.data.image = null; //Adds the read planet into the year year.list_planets.Add(currPlanet); Renderer rend = currPlanet.GetComponent <Renderer>(); Material material = Instantiate(rend.material); rend.material = material; ChangeValue val = GetComponentInChildren <ChangeValue>(); if (i > universe.Length / 2) { val.change(rend, currPlanet.data.title, int.Parse(currPlanet.data.year), false); } else { val.change(rend, currPlanet.data.title, int.Parse(currPlanet.data.year), true); } } ImageLoader.GetInstance().LoadImages(imagePaths, callbacks); OrbitManager orbitManager = OrbitManager.GetOrbitManager(); if (orbitManager != null) { orbitManager.PopulateOrbit(year.list_planets.ToArray()); } else { Debug.LogError("Could not find OrbitManager to populate planets. Waiting for OrbitManager..."); StartCoroutine(WaitForOrbit(year)); /* * orbitManager = OrbitManager.GetOrbitManager(); * if (orbitManager != null) * { * orbitManager.PopulateOrbit(year.list_planets.ToArray()); * } else * { * Debug.LogError("Still could not find OrbitManager to populate planets."); * } */ } } // Handles case if the year traveling to is the new year else { // There shouldn't be any planets in the Home year } }
private void Start() { Instance = this; }
// Use this for initialization void Start() { orbitManager = FindObjectOfType <OrbitManager>(); shipController = FindObjectOfType <ShipController>(); }