Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
    private void OnCollisionEnter(Collision collision)
    {
        EnemyElement enemy = collision.gameObject.GetComponent <EnemyElement>();

        if (enemy != null)
        {
            SetDamage(enemy.Contact());
        }
    }
Exemplo n.º 3
0
        //---------------------
        // 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);
        }
Exemplo n.º 4
0
    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)]);
                }
            }
        }
    }
Exemplo n.º 5
0
    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);
    }