// Use this for initialization
    void Start()
    {
        numAstronauts = astronauts.Length;
        gameOverMenu.SetActive(false);
        missionsuccessMenu.SetActive(false);
        foreach (GameObject astronaut in astronauts)
        {
            astronautControllers.Add(astronaut.GetComponent <PlayerController>());
        }
        foreach (GameObject alien in aliens)
        {
            alienControllers.Add(alien.GetComponent <AlienController>());
        }
        //Initialize
        int counter = 0;

        foreach (PlayerController controller in astronautControllers)
        {
            controller.Initialize(counter);
            counter++;
        }

        //Ensure we have a min and max speed entities
        float maxSpeedAstronaut = DataBetweenScenes.getMaxSpeedAstronaut();
        float minSpeedAstronaut = 3f;
        int   astronautIdMin    = Random.Range(0, 7); astronautControllers[astronautIdMin].SetSpeed(minSpeedAstronaut);
        int   astronautIdMax    = Random.Range(0, 7); astronautControllers[astronautIdMax].SetSpeed(maxSpeedAstronaut);

        SetAstronautsInPlace();
        pso          = new PSO(astronautControllers, progressBar, StopExploringButton);
        attackAliens = new AttackAliens(astronautControllers, alienControllers, gameOverMenu, missionsuccessMenu, alienManager);
        StopExploringButton.SetActive(false);
    }
Example #2
0
    public void Initialize(Vector3 targetCoordinates)
    {
        this.targetCoordinates = targetCoordinates;
        this.initialized       = true;
        //Initialize
        int counter = 0;

        foreach (AlienController controller in alienControllers)
        {
            controller.Initialize(counter);
            controller.SetTargetCoordinates(targetCoordinates);
            counter++;
        }

        //Ensure we have a min and max speed entities
        float maxSpeedAlien = DataBetweenScenes.getMaxSpeedAlien();
        float minSpeedAlien = 1.75f;
        int   alienIdMin    = Random.Range(0, 7); alienControllers[alienIdMin].SetSpeed(minSpeedAlien);
        int   alienIdMax    = Random.Range(0, 7); alienControllers[alienIdMax].SetSpeed(maxSpeedAlien);

        SetAliensInPlace();
        pso = new PSO(alienControllers);
        attackAstronauts = new AttackAstronauts(astronautControllers, alienControllers);
        //Start looking for astronauts
        startPSO = true;
        pso.SetInertiaAlien(inertia);
    }
Example #3
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
            return;
        }

        DontDestroyOnLoad(gameObject);  //Para que no se corte entre carga de escenas

        astronauts = astronautManager.astronauts;

        this.musicMultiplier = DataBetweenScenes.getMusicVolume();
        this.soundMultiplier = DataBetweenScenes.getSoundsVolume();

        soundtrackBattleIds = new List <int>();

        int soundCounter = 0;

        foreach (Sound sound in sounds)
        {
            AssignSoundToObject(sound, soundCounter);
            ++soundCounter;
        }
    }
Example #4
0
    private void Awake()
    {
        switch (DataBetweenScenes.getSize())
        {
        case 100: this.SetColor100(); break;

        case 200: this.SetColor200(); break;

        case 400: this.SetColor400(); break;
        }
    }
    void Awake()
    {
        gridSize = DataBetweenScenes.getSize();
        switch (gridSize)
        {
        case 100: minZoom = -40; maxZoom = 100; maxZoomChangeAmount = 80; break;

        case 200: minZoom = -40; maxZoom = 150; maxZoomChangeAmount = 120; break;

        case 400: minZoom = -70; maxZoom = 300; maxZoomChangeAmount = 240; zoom = 30; break;

        default: minZoom = -70; maxZoom = 300; maxZoomChangeAmount = 240; zoom = 30; break;
        }
        initialAltitude     = gridSize / 2f + CubeSphere.heightMultiplier + cameraAltitude + zoom;
        transform.position += new Vector3(0, initialAltitude, 0);
    }
Example #6
0
    void SetAliensInPlace()
    {
        Vector3 averagePosition = Vector3.zero;

        foreach (PlayerController astronaut in astronautControllers)
        {
            Vector3 position = astronaut.transform.position;
            averagePosition += position;
        }
        averagePosition = averagePosition / 8f;

        Vector3 newPosition = (averagePosition - Vector3.zero).normalized;
        int     degrees     = 35;

        switch (DataBetweenScenes.getSize())
        {
        case 100: degrees = 55; break;

        case 200: degrees = 40; break;

        case 400: degrees = 25; break;
        }
        newPosition = Quaternion.Euler(degrees, 0, 0) * newPosition * (DataBetweenScenes.getSize() / 2f + CubeSphere.heightMultiplier);

        //Set Astronauts in place forming a circle, for example
        float radius = 2.5f;

        /*alienControllers[0].SetInPlace(-radius, 0f, -90f);
         * alienControllers[1].SetInPlace(-radius * 3f / 4f, radius * 3f / 4f, -45f);
         * alienControllers[2].SetInPlace(0f, radius, 0f);
         * alienControllers[3].SetInPlace(radius * 3f / 4f, radius * 3f / 4f, 45f);
         * alienControllers[4].SetInPlace(radius, 0f, 90f);
         * alienControllers[5].SetInPlace(radius * 3f / 4f, -radius * 3f / 4f, 135f);
         * alienControllers[6].SetInPlace(0f, -radius, 180f);
         * alienControllers[7].SetInPlace(-radius * 3f / 4f, -radius * 3f / 4f, -135f);*/

        foreach (AlienController alien in alienControllers)
        {
            alien.SetInPlace(newPosition, Random.Range(0f, 360f));
        }

        startPSO = true;
    }
Example #7
0
 public void SetSoundsVolume(float value)
 {
     DataBetweenScenes.setSoundsVolume(value);
 }
 private void Awake()
 {
     gridSize = DataBetweenScenes.getSize();
 }
Example #9
0
    private void Awake()
    {
        int seed = DataBetweenScenes.getSeed();

        this.SetSeedText(seed.ToString());
    }
Example #10
0
 public void SetSeed(string value)
 {
     DataBetweenScenes.setSeed(int.Parse(value));
 }
Example #11
0
 private void Awake()
 {
     gridSize = DataBetweenScenes.getSize();
     miniHealthBar.SetActive(false);
 }
Example #12
0
 public void SetSize100()
 {
     DataBetweenScenes.setSize(100);
     SetColor100();
 }
Example #13
0
 private void Start()
 {
     musicSlider.value  = DataBetweenScenes.getMusicVolume();
     soundsSlider.value = DataBetweenScenes.getSoundsVolume();
 }
Example #14
0
 public void SetSize200()
 {
     DataBetweenScenes.setSize(200);
     SetColor200();
 }
Example #15
0
 public void SetMusicVolume(float value)
 {
     DataBetweenScenes.setMusicVolume(value);
 }
    void Awake()
    {
        document = new XmlDocument();
        document.LoadXml(GameAsset.text);   //Load file
        XmlNode root = document.DocumentElement;

        XmlNode options         = root.SelectSingleNode("options");
        XmlNode volume          = options.SelectSingleNode("volume");
        XmlNode generation      = options.SelectSingleNode("generation");
        XmlNode pso             = root.SelectSingleNode("pso");
        XmlNode astronautPso    = pso.SelectSingleNode("astronaut");
        XmlNode alienPso        = pso.SelectSingleNode("alien");
        XmlNode entity          = root.SelectSingleNode("entity");
        XmlNode astronautEntity = entity.SelectSingleNode("astronaut");
        XmlNode alienEntity     = entity.SelectSingleNode("alien");
        XmlNode world           = root.SelectSingleNode("world");
        XmlNode noise           = world.SelectSingleNode("noise");
        //Music
        XmlNode music = volume.SelectSingleNode("music");

        DataBetweenScenes.setMusicVolume(float.Parse(music.InnerText));
        //
        //Sounds
        XmlNode sounds = volume.SelectSingleNode("sounds");

        DataBetweenScenes.setSoundsVolume(float.Parse(sounds.InnerText));
        //
        //Size
        XmlNode size = generation.SelectSingleNode("size");

        DataBetweenScenes.setSize(int.Parse(size.InnerText));
        //
        //Seed
        XmlNode seed = generation.SelectSingleNode("seed");

        DataBetweenScenes.setSeed(int.Parse(seed.InnerText));
        //
        //C1 Astronaut
        XmlNode c1Astronaut = astronautPso.SelectSingleNode("c1");

        DataBetweenScenes.setC1Astronaut(float.Parse(c1Astronaut.InnerText));
        //
        //C2 Astronaut
        XmlNode c2Astronaut = astronautPso.SelectSingleNode("c2");

        DataBetweenScenes.setC2Astronaut(float.Parse(c2Astronaut.InnerText));
        //
        //C1 Alien
        XmlNode c1Alien = alienPso.SelectSingleNode("c1");

        DataBetweenScenes.setC1Alien(float.Parse(c1Alien.InnerText));
        //
        //C2 Alien
        XmlNode c2Alien = alienPso.SelectSingleNode("c2");

        DataBetweenScenes.setC2Alien(float.Parse(c2Alien.InnerText));
        //
        //MaxSpeed Astronaut
        XmlNode maxSpeedAstronaut = astronautEntity.SelectSingleNode("maxSpeed");

        DataBetweenScenes.setMaxSpeedAstronaut(float.Parse(maxSpeedAstronaut.InnerText));
        //
        //MaxSpeed Alien
        XmlNode maxSpeedAlien = alienEntity.SelectSingleNode("maxSpeed");

        DataBetweenScenes.setMaxSpeedAlien(float.Parse(maxSpeedAlien.InnerText));
        //
        //MaxDistanceToShoot Alien
        XmlNode maxDistanceToShoot = alienEntity.SelectSingleNode("maxDistanceToShoot");

        DataBetweenScenes.setMaxDistanceToShoot(float.Parse(maxDistanceToShoot.InnerText));
        //
        //HeightMultiplier
        XmlNode heightMultiplier = world.SelectSingleNode("heightMultiplier");

        DataBetweenScenes.setHeightMultiplier(float.Parse(heightMultiplier.InnerText));
        //
        //Scale
        XmlNode scale = noise.SelectSingleNode("scale");

        DataBetweenScenes.setScale(float.Parse(scale.InnerText));
        //
        //Octaves
        XmlNode octaves = noise.SelectSingleNode("octaves");

        DataBetweenScenes.setOctaves(int.Parse(octaves.InnerText));
        //
        //Persistance
        XmlNode persistance = noise.SelectSingleNode("persistance");

        DataBetweenScenes.setPersistance(float.Parse(persistance.InnerText));
        //
        //Lacunarity
        XmlNode lacunarity = noise.SelectSingleNode("lacunarity");

        DataBetweenScenes.setLacunarity(float.Parse(lacunarity.InnerText));
        //
    }
Example #17
0
 public void SetSize400()
 {
     DataBetweenScenes.setSize(400);
     SetColor400();
 }