Esempio n. 1
0
        /*
         * *DelayedLevelGoal*
         * texture[4]
         *
         */
        public static EnemySprite readDelayedLevelGoal(string fPath, ContentManager content, Vector2 position)
        {
            FileStream   file = new FileStream(fPath, FileMode.Open, FileAccess.Read);
            StreamReader sr   = new StreamReader(file);
            string       line;

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                if (line.Contains("*DelayedLevelGoal*"))
                {
                    Texture2D[] eTex = new Texture2D[4];
                    for (int index = 0; index < eTex.Length; index++)
                    {
                        eTex[index] = content.Load <Texture2D>(sr.ReadLine());
                    }

                    LevelGoal be = new LevelGoal();
                    be.position = position;
                    be.setTextures(eTex);
                    return(be);
                }
            }
            return(null);
        }
Esempio n. 2
0
        /* BasicEnemy txt format
         * *BasicEnemy*
         * x
         * y
         * enemysprite
         *
         * Spikes format
         * *Spikes*
         * width multiplier
         * x
         * y
         * sprite
         *
         * Turret format
         * *EnemyTurret*
         * x
         * y
         * sprite
         * shotsprite[4]
         *
         * *EnemyWalker*
         * x
         * y
         * dx
         * dy
         * sprite
         *
         * *LevelGoal*
         * x
         * y
         * sprite[4]
         */
        public static ArrayList readEnemies(string fPath, ContentManager content, int sWidth, int sHeight)
        {
            ArrayList    enemylist = new ArrayList();
            FileStream   file      = new FileStream(fPath, FileMode.Open, FileAccess.Read);
            StreamReader sr        = new StreamReader(file);
            string       line;

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                if (line.Contains("*BasicEnemy*"))
                {
                    float ex;
                    float ey;

                    ex = (float)Convert.ToDouble(sr.ReadLine());
                    ey = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D eTex = content.Load <Texture2D>(sr.ReadLine());

                    BasicEnemy be = new BasicEnemy();
                    be.position.X = ex;
                    be.position.Y = sHeight - ey;
                    be.setBaseSprite(eTex);
                    enemylist.Add(be);
                }
                else if (line.Contains("*Booster*"))
                {
                    float ex;
                    float ey;
                    float vx;
                    float vy;
                    float duration;

                    ex       = (float)Convert.ToDouble(sr.ReadLine());
                    ey       = (float)Convert.ToDouble(sr.ReadLine());
                    vx       = (float)Convert.ToDouble(sr.ReadLine());
                    vy       = (float)Convert.ToDouble(sr.ReadLine());
                    duration = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D[] eTex = { content.Load <Texture2D>(sr.ReadLine()) };

                    Booster boost = new Booster();
                    boost.position.X = ex;
                    boost.position.Y = sHeight - ey;
                    Vector2 boostvel = new Vector2(vx, vy);
                    boost.setBoost(duration, boostvel);
                    boost.setTextures(eTex);
                    enemylist.Add(boost);
                    //Console.Out.WriteLine(vy);
                }
                else if (line.Contains("*Spikes*"))
                {
                    int   width;
                    float ex;
                    float ey;

                    width = Convert.ToInt32(sr.ReadLine());
                    ex    = (float)Convert.ToDouble(sr.ReadLine());
                    ey    = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D eTex = content.Load <Texture2D>(sr.ReadLine());

                    Spikes spike = new Spikes(width);
                    spike.position.X = ex;
                    spike.position.Y = sHeight - ey;
                    spike.setBaseSprite(eTex);
                    enemylist.Add(spike);
                }
                else if (line.Contains("*EnemyTurret*"))
                {
                    float ex;
                    float ey;

                    ex = (float)Convert.ToDouble(sr.ReadLine());
                    ey = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D   eTex    = content.Load <Texture2D>(sr.ReadLine());
                    Texture2D[] shotTex = new Texture2D[4];

                    for (int index = 0; index < shotTex.Length; index++)
                    {
                        shotTex[index] = content.Load <Texture2D>(sr.ReadLine());
                    }

                    //EnemyShot es = new EnemyShot();
                    //es.setBaseSprite(shotTex);

                    EnemyTurret be = new EnemyTurret();
                    be.ShotTex    = shotTex;
                    be.position.X = ex;
                    be.position.Y = sHeight - ey;
                    be.setBaseSprite(eTex);
                    enemylist.Add(be);
                }
                else if (line.Contains("*EnemyWalker*"))
                {
                    float ex;
                    float ey;
                    float dx;
                    float dy;

                    ex = (float)Convert.ToDouble(sr.ReadLine());
                    ey = (float)Convert.ToDouble(sr.ReadLine());
                    dx = (float)Convert.ToDouble(sr.ReadLine());
                    dy = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D eTex = content.Load <Texture2D>(sr.ReadLine());

                    EnemyWalker be = new EnemyWalker(dx, dy);
                    be.position.X = ex;
                    be.position.Y = sHeight - ey;
                    be.setBaseSprite(eTex);
                    enemylist.Add(be);
                }
                else if (line.Contains("*LevelGoal*"))
                {
                    float ex;
                    float ey;

                    ex = (float)Convert.ToDouble(sr.ReadLine());
                    ey = (float)Convert.ToDouble(sr.ReadLine());
                    //Texture2D eTex = content.Load<Texture2D>(sr.ReadLine());
                    Texture2D[] eTex = new Texture2D[4];
                    for (int index = 0; index < eTex.Length; index++)
                    {
                        eTex[index] = content.Load <Texture2D>(sr.ReadLine());
                    }

                    LevelGoal be = new LevelGoal();
                    be.position.X = ex;
                    be.position.Y = sHeight - ey;
                    be.setTextures(eTex);
                    enemylist.Add(be);
                }
                else if (line.Contains("*Boss1*"))
                {
                    float ex;
                    float ey;

                    ex = (float)Convert.ToDouble(sr.ReadLine());
                    ey = (float)Convert.ToDouble(sr.ReadLine());
                    Texture2D   eTex    = content.Load <Texture2D>(sr.ReadLine());
                    Texture2D[] shotTex = new Texture2D[4];

                    for (int index = 0; index < shotTex.Length; index++)
                    {
                        shotTex[index] = content.Load <Texture2D>(sr.ReadLine());
                    }

                    //EnemyShot es = new EnemyShot();
                    //es.setBaseSprite(shotTex);

                    Boss1 boss = new Boss1();
                    boss.ShotTex    = shotTex;
                    boss.position.X = ex;
                    boss.position.Y = sHeight - ey;
                    boss.setBaseSprite(eTex);
                    enemylist.Add(boss);
                }
            }

            sr.Close();
            file.Close();
            return(enemylist);
        }