Example #1
0
 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();
 }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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));
        }
Example #4
0
 public static void UpdateGameData(GameData data, int currentLevel,
     int currentScore)
 {
 }