public void Initialize() { myClouds = new List <CloudElement>(); GenerateInitialClouds(myContent); myOcean = new StaticElement(1.0f, new Vector2(0, mySurfaceLevel)); myBoat = new PlayerElement(1.0f, 0.01f, 0.0f, 1.5f, new Vector2(0, mySurfaceLevel), myGraphics, myConfig.Sinkbombs, myConfig.Level, myConfig.MovementDifficulty, myConfig.WeaponDifficulty); myBoat.AccessSinkBombReleased += SinkBombReleased; //myBoat.BulletFired += BulletFired; //Not used in these levels mySubs = new List <EnemyElement>(); myCreatures = new List <SeaCreatureElement>(); myMines = new List <MineElement>(); mySinkBombs = new List <SinkBombElement>(); myBooms = new List <StaticElement>(); mySoundEffects = new List <SoundEffect>(); //Level1 = three subs at the time, each having one mine for (int i = 0; i < myConfig.Subs; i++) { EnemyElement mySub = new EnemyElement(mySurfaceLevel, 0.6f, 0.0f, 0.0f, 1.0f, new Vector2(0, 0), myGraphics, myConfig.Mines, myConfig.MovementDifficulty, myConfig.WeaponDifficulty); mySub.AccessMineReleased += MineReleased; myBoat.AccessWhereIsTheBoat += mySub.BoatIsFoundAt; mySubs.Add(mySub); } for (int i = 0; i < 3; i++) { SeaCreatureElement myCreature = new SeaCreatureElement(mySurfaceLevel, 0.6f, 0.0f, 0.0f, 1.0f, new Vector2(0, 0), myGraphics); myCreatures.Add(myCreature); } int tempStaticTextTop = myGraphics.PreferredBackBufferHeight - 190; myStatusPanelLeft = new ScoreAndLevelBanner(new Vector2(20, tempStaticTextTop), new Vector2(300, 80), myGraphics); myStatusPanelCenter = new ScoreAndLevelBanner(new Vector2((myGraphics.PreferredBackBufferWidth / 2) - 160, tempStaticTextTop), new Vector2(300, 80), myGraphics); myStatusPanelRight = new ScoreAndLevelBanner(new Vector2(myGraphics.PreferredBackBufferWidth - 320, tempStaticTextTop), new Vector2(300, 80), myGraphics); }
private void OnCollisionEnter(Collision collision) { EnemyElement enemy = collision.gameObject.GetComponent <EnemyElement>(); if (enemy != null) { SetDamage(enemy.Contact()); } }
//--------------------- // Events //--------------------- #region private void EnemyDie(EnemyElement enemy) { if (enemy is EnemySquare) { Score += 10; } else { Score += 20; } RequiredEnemies -= 1; currentEnemies -= 1; EnemyElement.enemies.Remove(enemy); enemy.EnemyDie -= EnemyDie; Controls.Remove(enemy); }
private void CreateCompoundEnemy() { if (mainElementVariety.Count > 0) { mainElement = Instantiate(mainElementVariety[Random.Range(0, mainElementVariety.Count)], transform.position, Quaternion.identity) as GameObject; mainElement.transform.SetParent(transform); mainEnemyElement = mainElement.GetComponent <EnemyElement>(); if (elementsVariety.Count > 0) { elements = new List <GameObject>(); for (int i = 0; i < startElementsAmount; i++) { AddElement(elementsVariety[Random.Range(0, mainElementVariety.Count)]); } } } }
public static List <Enemy_Info> Read(string filePath) { XmlDocument Document = new XmlDocument(); Document.Load(filePath); XmlElement EnemyListElement = Document["EnemyList"]; List <Enemy_Info> EnemyList = new List <Enemy_Info>(); foreach (XmlElement EnemyElement in EnemyListElement.ChildNodes) { Enemy_Info Enemy = new Enemy_Info(); Enemy.Name = EnemyElement.GetAttribute("Name"); Enemy.AttackSpeed = System.Convert.ToSingle(EnemyElement.GetAttribute("AttackSpeed")); Enemy.MoveSpeed = System.Convert.ToSingle(EnemyElement.GetAttribute("MoveSpeed")); Enemy.Damage = System.Convert.ToSingle(EnemyElement.GetAttribute("Damage")); Enemy.Hp = System.Convert.ToSingle(EnemyElement.GetAttribute("Hp")); EnemyList.Add(Enemy); } return(EnemyList); }