Exemplo n.º 1
0
    // 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];
    }
Exemplo n.º 2
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;
     }
 }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
    // 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();
                    }
                }
            }
        }
    }
Exemplo n.º 5
0
 public void UseRotation()
 {
     foreach (GameObject OrbitManager in OrbitManagers)
     {
         OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>();
         OM.UseRotation = UseRotationToggle.isOn;
         OM.ObjectGenerator();
     }
 }
Exemplo n.º 6
0
 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;
     }
 }
Exemplo n.º 7
0
    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);
        }
    }
Exemplo n.º 8
0
 //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();
     }
 }
Exemplo n.º 9
0
 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();
         }
     }
 }
Exemplo n.º 10
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();
         }
     }
 }