Example #1
0
    protected void Init()
    {
        hasSpawn = false;

        if (GameManagerScript.Instance.waves.Count < formationID + 1)
        {
            while (GameManagerScript.Instance.waves.Count < formationID + 1)
            {
                GameManagerScript.Instance.addWave();
            }

            FormationScript wave = GameManagerScript.Instance.waves [formationID].GetComponent <FormationScript>();
            wave.powerUp = powerUp;
            wave.incrementEnemyCount();
            wave.scoreBonus = formScoreBoost;
        }
        else
        {
            FormationScript wave = GameManagerScript.Instance.waves[formationID].GetComponent <FormationScript>();
            wave.powerUp = powerUp;
            wave.incrementEnemyCount();
            wave.scoreBonus = formScoreBoost;
        }

        // Disable everything
        // -- collider
        collider2D.enabled = false;
        // -- Moving
        moveScript.enabled = true;
        // -- Shooting
        foreach (WeaponScript weapon in weapons)
        {
            weapon.enabled = false;
        }
    }
Example #2
0
    public HazardContainer CreateLevel()
    {
        char[]          delimiterChar = { ' ', '(' };
        HazardContainer Level         = new HazardContainer();

        foreach (GameObject Ship in GameObject.FindGameObjectsWithTag("Ship"))
        {
            shipScript = Ship.GetComponent <EditorObjects> ();

            // The type of the ship is the first part of its name (before the (clone)).
            String[] ship     = Ship.name.Split(delimiterChar);
            String   typeship = ship[0];
            Level.Ships.Add(new Ship()
            {
                Name = Ship.name,
                type = typeship, yPos = Ship.transform.position.y, zPos = Ship.transform.position.z, speed = shipScript.speed, movement = shipScript.movement, special = shipScript.special
            });
        }

        foreach (GameObject Fleet in GameObject.FindGameObjectsWithTag("Formation"))
        {
            formationScript = Fleet.GetComponent <FormationScript> ();

            // The type of the ship is the first part of its name (before the (clone)).
            String[] fleet     = Fleet.name.Split(delimiterChar);
            String   typefleet = fleet[0];
            Level.Fleets.Add(new Fleet()
            {
                Name = Fleet.name,
                type = typefleet, yPos = Fleet.transform.position.y, zPos = Fleet.transform.position.z, speed = formationScript.speed, movement = formationScript.movement, special = formationScript.special, ship_type = formationScript.ship
            });
        }

        foreach (GameObject Asteroid in GameObject.FindGameObjectsWithTag("Asteroid"))
        {
            // The type of the ship is the first part of its name (before the (clone)).

            String[] asteroid     = Asteroid.name.Split(delimiterChar);
            String   typeasteroid = asteroid[0];
            Level.Asteroids.Add(new Asteroid()
            {
                Name = Asteroid.name,
                type = typeasteroid, yPos = Asteroid.transform.position.y, zPos = Asteroid.transform.position.z
            });
        }

        Level.Background = toggled_background.name;
        Level.Music      = toggled_music.name;
        Level.Boss       = toggled_boss.name;

        Level.Ships     = Level.Ships.OrderBy(Ship => Ship.zPos).ToList();
        Level.Fleets    = Level.Fleets.OrderBy(Fleet => Fleet.zPos).ToList();
        Level.Asteroids = Level.Asteroids.OrderBy(Asteroid => Asteroid.zPos).ToList();

        return(Level);
    }
Example #3
0
    void Instantiate()
    {
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (toggled_object == 0)
        {
        }
        else
        {
            // That hazard is now "myCurrentObject" and is placed inside the hazards parent gameObject
            if (Input.GetMouseButtonDown(0) && Camera.main.ScreenToWorldPoint(Input.mousePosition).y <= 7 && !Physics.Raycast(ray, out hit) && Camera.main.ScreenToWorldPoint(Input.mousePosition).y >= -7 && !EventSystem.current.IsPointerOverGameObject())
            {
                if (toggled_object == 1)
                {
                    rotation = Quaternion.Euler(0, 180, 30);
                }
                else if (toggled_object == 2)
                {
                    rotation = Quaternion.Euler(0, 0, 330);
                }
                else if (toggled_object == 3 || toggled_object == 4 || toggled_object == 5)
                {
                    rotation = UnityEngine.Random.rotation;
                }
                else if (toggled_object == 6 || toggled_object == 7 || toggled_object == 8)
                {
                    rotation = Quaternion.identity;
                }

                myObject = Instantiate(editor_objects[toggled_object - 1],
                                       new Vector3(0, Camera.main.ScreenToWorldPoint(Input.mousePosition).y
                                                   , Camera.main.ScreenToWorldPoint(Input.mousePosition).z), rotation) as GameObject;
                myObject.transform.parent = hazards.transform;

                if (toggled_object == 1 || toggled_object == 2)
                {
                    EditorObjects myObjectScript = myObject.GetComponent <EditorObjects> ();

                    myObjectScript.camera         = camera;
                    myObjectScript.canvas         = canvas;
                    myObjectScript.selected_panel = selected_panel;
                    myObjectScript.stats_pannel   = stats_panel;
                }
                else if (toggled_object == 6 || toggled_object == 7 || toggled_object == 8)
                {
                    FormationScript myObjectScript = myObject.GetComponent <FormationScript> ();

                    myObjectScript.camera         = camera;
                    myObjectScript.canvas         = canvas;
                    myObjectScript.selected_panel = selected_panel;
                    myObjectScript.stats_fleet    = stats_fleet;
                }
            }
        }
    }
Example #4
0
    public void RemoveBoid(GameObject b)
    {
        FormationScript bScript = b.GetComponent <FormationScript>();

        // Save path parameter
        //int pathParam = bScript.currentParam;

        // Leader has been removed
        if (b == leader)
        {
            AssignLeader();
        }

        unitsInFormation.Remove(b);
        currentNumberOfUnits--;
    }
Example #5
0
    //------------------------------------------------------------------------//

    /// <summary>
    /// Inflicts damage and check if the object should be destroyed
    /// </summary>
    /// <param name="damageCount"></param>
    public void Damage(float damageCount)
    {
        hp -= damageCount;

        if (hp <= 0)
        {
            // 'Splosion!
            SoundEffectsHelper.Instance.MakeExplosionSound();

            if (isEnemy)
            {
                if (!isBullet)
                {
                    EnemyScript     en   = gameObject.GetComponent <EnemyScript>();
                    FormationScript wave = GameManagerScript.Instance.waves[en.formationID].GetComponent <FormationScript>();
                    SpecialEffectsHelper.Instance.bloodSplosion(transform.position);

                    wave.reduceEnemyCount();
                    GameManagerScript.Instance.incrementScore(en.scoreValue);

                    Debug.LogWarning("Enemies Left: " + wave.getEnemyCount());

                    if (wave.getEnemyCount() <= 0 && !wave.droppedPup)
                    {
                        if (wave.powerUp != null)
                        {
                            GameObject go = Instantiate(wave.powerUp) as GameObject;
                            go.transform.position = transform.position;
                        }
                        GameManagerScript.Instance.incrementScore(wave.scoreBonus);
                        wave.droppedPup = true;
                    }
                }
                else
                {
                    SpecialEffectsHelper.Instance.Explosion(transform.position);
                }
            }
            else
            {
                if (GameManagerScript.Lives > 0)
                {
                    GameObject     player         = Instantiate(Resources.Load("Prefabs/player")) as GameObject;
                    ParticleSystem particlesystem = (ParticleSystem)player.GetComponentInChildren <ParticleSystem>();
                    particlesystem.enableEmission = false;
                    player.name = "player";
                    playerScript p = player.GetComponent <playerScript>();
                    player.transform.position = Camera.main.transform.position + new Vector3(0, -24, 8);
                    p.invulnerable            = iFrames;
                    player.collider2D.enabled = false;
                    player.renderer.enabled   = false;
                    GameManagerScript.Lives--;
                }
                else
                {
                    // Game Over.
                    // Add the script to the parent because the current game
                    // object is likely going to be destroyed immediately.
                    GameObject go = new GameObject();
                    go.AddComponent <GameOverScript>();
                    go.transform.position = transform.position;

                    GameManagerScript.Instance.submitScore();
                }
            }

            // Dead!
            Destroy(gameObject);
            //-----------------------Added stuff for background-----------------------//
            enemyDeath = GameManagerScript.enemiesDead++;
            oceans     = GameObject.FindGameObjectsWithTag("background");

            foreach (GameObject ocean in oceans)
            {
                blood    = ocean.renderer.material.color;
                blood.a -= enemyRed;
                ocean.renderer.material.color = blood;
            }
            //------------------------------------------------------------------------//
        }
    }
 public void RegisterFormationScript(FormationScript formationScript)
 {
     formationScripts.Add(formationScript);
     formationScript.FormationDestroyed += OnFormationDestroyed;
 }