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