示例#1
0
        public Controller()
            : base()
        {
            #region Load reactions from XML
              Reactions = new Dictionary<Element, Reaction>();

              List<Reaction> reactions =
            DAO.LoadReactionsFromXML(Reaction.REACTIONS_FILENAME);

              for (int i = 0; i < reactions.Count; i++)
            if (!Reactions.ContainsKey(reactions[i].ElementType))
              Reactions.Add(reactions[i].ElementType, reactions[i]);
              #endregion

              LevelMap = DAO.LoadFile(CurrentLevel + ".xml");

              if (LevelMap == null)
            LevelMap = GenerateTestLevel();

              Camera = new Camera();
              Player1 = new Player(100, 100);
              DeadOjects = new List<DeadObject>();

              #region Play and Loop Music
              Audio.Play(Music.InGameMusic);
              SoundEffect.MasterVolume = Game1.GlobalVolume;
              MediaPlayer.Volume = Game1.GlobalVolume * Volume;
              MediaPlayer.IsRepeating = true; // Loop Music
              #endregion

              LevelWidth = GetLevelWidth();
              LevelHeight = GetLevelHeight();

              InGameMenu = new InGameMenu();

              VisibleTiles = new List<Tile>();
        }
示例#2
0
        private Map GenerateTestLevel()
        {
            Map testMap = new Map();

              int tileSize = Game1.TILE_SIZE;
              testMap = new Map();
              int groundLevel = Game1.SCREEN_HEIGHT;

              for (int x = 0; x < 20; x++)
              {
            testMap.Tiles.Add(new Tile(x * tileSize, groundLevel, Element.GroundCenter));

            for (int y = 1; y < 4; y++)
              testMap.Tiles.Add(new Tile(x * tileSize, groundLevel + (y * tileSize), Element.DirtCenter));
              }

              return testMap;
        }
示例#3
0
        public void LoadSpecificLevel(object level)
        {
            CurrentLevel = (int)level;

              string filename = CurrentLevel + ".xml";

              LevelMap = DAO.LoadFile(filename);

              if (LevelMap == null)
            LevelMap = GenerateTestLevel();

              Toast.ShowMsg("Loading " + CurrentLevel + ".xml");
              UpdateLevelWidthHeight();
        }
示例#4
0
        public void LoadNextLevel(object nothing)
        {
            CurrentLevel++;

              if (CurrentLevel > 3)
            CurrentLevel = 0;

              string filename = CurrentLevel + ".xml";

              LevelMap = DAO.LoadFile(filename);

              if (LevelMap == null)
            LevelMap = GenerateTestLevel();

              UpdateLevelWidthHeight();
              ResetPlayer(null);
        }
示例#5
0
        public void LoadMap(object nothing)
        {
            LevelMap = DAO.LoadFile(CurrentLevel + ".xml");

              if (LevelMap == null)
            LevelMap = GenerateTestLevel();

              Toast.ShowMsg("Loading " + CurrentLevel + ".xml");
              UpdateLevelWidthHeight();
        }
示例#6
0
文件: DAO.cs 项目: colincapurso/LD25
 /// <summary>
 /// Saves a single SaveGameData object to disk and returns if successful.
 /// </summary>
 /// <param name="saveObject"></param>
 /// <param name="filename"></param>
 /// <returns></returns>
 public static bool SaveFile(Map saveObject, string filename)
 {
     try
       {
     XmlSerializer serializer = new XmlSerializer(typeof(Map));
     TextWriter textWriter = new StreamWriter(filename, false);
     serializer.Serialize(textWriter, saveObject);
     textWriter.Close();
     return true;
       }
       catch (Exception e)
       {
     Console.WriteLine("Save Problem: " + e.Message);
     return false;
       }
 }