Esempio 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];
    }
Esempio 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;
     }
 }
Esempio 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;
     }
 }
Esempio 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();
                    }
                }
            }
        }
    }
    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);
        }
    }
Esempio n. 6
0
 public void UseRotation()
 {
     foreach (GameObject OrbitManager in OrbitManagers)
     {
         OrbitManagement OM = OrbitManager.GetComponent <OrbitManagement>();
         OM.UseRotation = UseRotationToggle.isOn;
         OM.ObjectGenerator();
     }
 }
Esempio n. 7
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;
     }
 }
Esempio 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();
     }
 }
Esempio 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();
         }
     }
 }
Esempio n. 10
0
    // Use this for initialization
    void Start()
    {
        if (ORBIT_MANAGER == null)
        {
            ORBIT_MANAGER = this;
        }
        else
        {
            Destroy(this);
        }

        PopulateOrbit(new PlanetController[0]);
    }
Esempio n. 11
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();
         }
     }
 }
Esempio n. 12
0
 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);
    }
Esempio n. 14
0
    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));
    }
Esempio n. 15
0
    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();
         * }
         */
    }
Esempio n. 16
0
    /*
     * 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
        }
    }
Esempio n. 17
0
 private void Start()
 {
     Instance = this;
 }
Esempio n. 18
0
 // Use this for initialization
 void Start()
 {
     orbitManager   = FindObjectOfType <OrbitManager>();
     shipController = FindObjectOfType <ShipController>();
 }