public static void SerializeToXML(GameData gameData) { string path = Directory.GetCurrentDirectory(); string fileName = @"\GameData.xml"; if(!File.Exists(path+fileName)) { FileStream fs = File.Create(path + fileName); fs.Close(); } XmlSerializer serializer = new XmlSerializer(typeof(GameData)); TextWriter textWriter = new StreamWriter(path + fileName); serializer.Serialize(textWriter, gameData); textWriter.Close(); }
public static void UpdateGameData(GameData data, Player player) { data.CurrentScore = player.Score; data.CurrentHealth = player.Health; if(player.Health > 0) { data.LastGameDied = false; } else { data.LastGameDied = true; } if(data.TopScores.Count < data.TopScoreCapacity && data.CurrentScore > 0) { if(!data.TopScores.Contains(data.CurrentScore) && !player.IsAlive()) { data.TopScores.Add(data.CurrentScore); data.TopScoresDateTime.Add(DateTime.Now); } } else if(data.TopScores.Count > 0 && data.CurrentScore > data.TopScores.Min()) { if (!data.TopScores.Contains(data.CurrentScore) && !player.IsAlive()) { int lowest = data.TopScores.Min(); int lowestIndex = data.TopScores.IndexOf(lowest); data.TopScores.RemoveAt(lowestIndex); data.TopScoresDateTime.RemoveAt(lowestIndex); data.TopScores.Add(data.CurrentScore); data.TopScoresDateTime.Add(DateTime.Now); } } }
private void GameplayInit(bool isNewGame) { GameWindow window = ScreenManager.Game.Window; healthList = new List<Health>(); shieldList = new List<Shield>(); enemyList = new List<Enemy>(); bossList = new List<Boss>(); defaultBulletList = new List<Bullet>(); enemyTexList = new List<Texture2D>(); bossTexList = new List<Texture2D>(); bulletTexList = new List<Texture2D>(); windowSize = new Vector2(window.ClientBounds.Width, window.ClientBounds.Height); initialPlayerPosition = new Vector2(windowSize.X / 2, windowSize.Y - 60); playerVelocity = new Vector2(6, 6); // TODO: determine game mode: single or versus. Use single for now. singleMode = true; numPlayers = singleMode ? 1 : 2; numMoveStrategies = 3; numEnemies = 5; previousFireTime = TimeSpan.Zero; defaultBulletFireRate = TimeSpan.FromSeconds(.15f); gameData = FileIO.DeserializeFromXML(); if(gameData == null) { string uname = System.Security.Principal.WindowsIdentity.GetCurrent().Name; if(uname.Contains(@"\")) { string[] nameArry = uname.Split('\\'); uname = nameArry[nameArry.Length - 1]; } gameData = new GameData(uname); player1CurrentHealth = 100; player1CurrentScore = 0; FileIO.SerializeToXML(gameData); } else { if(isNewGame || gameData.LastGameDied) { gameData.CurrentScore = 0; player1CurrentScore = 0; gameData.CurrentHealth = 100; player1CurrentHealth = 100; gameData.LastGameDied = false; FileIO.SerializeToXML(gameData); } else { player1CurrentHealth = gameData.CurrentHealth; player1CurrentScore = gameData.CurrentScore; } } hud = new HeadsUpDisplay(new Vector2(windowSize.X / 2 - 200, 20)); }
public static void UpdateGameData(GameData data, int currentLevel, int currentScore) { }