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