// 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(); } } } } }
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; } }
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); } }
//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(); } } }
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(); } } }