Ejemplo n.º 1
0
        public static void CreateBee_ExpectedDrone()
        {
            IBee result = BeesFactory.CreateBee("Drone", 20, 4);

            IBee expected = new Drone("Drone", 20, 4);

            Assert.AreEqual(result.GetType(), expected.GetType());
        }
Ejemplo n.º 2
0
        //loading game
        public bool Load(List <IBee> stage)
        {
            //load game state from repository
            var beesList = BeesFactory.CreateBees(BeeCollection);

            if (beesList.Count() == 0)
            {
                Logger.Log.Info("Game loading failed.Save not found.");
                return(false);
            }
            //make game stage from repository_save data
            foreach (var bee in beesList)
            {
                stage.Add(bee);
            }
            Logger.Log.Info("Game Loaded");
            return(true);
        }
Ejemplo n.º 3
0
        public static void CreateBeeNotNull()
        {
            IBee result = BeesFactory.CreateBee("Queen", 20, 4);

            Assert.IsNotNull(result);
        }
Ejemplo n.º 4
0
        public string LoadGame(int gameID, string loadingtype)
        {
            //ref of game to avoid multiple getInstance method calls
            GameInstance game = GameInstance.getInstance(gameID);

            //clearing stage, if game is loaded when previos stage isn`t ended
            game.Stage.Clear();

            switch ((SaveCase)Enum.Parse(typeof(SaveCase), loadingtype))
            {
            case SaveCase.File:
                try
                {
                    //parse save_file and make game stage from its data
                    foreach (string bee in System.IO.File.ReadAllLines(Path.GetTempPath() + "MyTest.txt"))
                    {
                        string[] beeParams = bee.Split(':');

                        game.Stage.Add(BeesFactory.CreateBee(beeParams[0], Int32.Parse(beeParams[1]), Int32.Parse(beeParams[2])));
                    }
                    Logger.Log.Info("Game loading. ID:" + gameID);
                    return("Loaded.");
                }
                catch (FileNotFoundException ex)
                {
                    Logger.Log.Error(String.Format("File loading failed ID:{0}.\n{1}", gameID, ex.ToString()));
                    return("Save is not found.");
                }

            case SaveCase.Repository:
                if (dbContext.Load(game.Stage))
                {
                    return("Loaded.");
                }
                else
                {
                    return("Save is not found.");
                }

            case SaveCase.Memory:
                if (game.stream == null)
                {
                    return("Save is not found.");
                }
                game.stream.Position = 0;
                byte[] newBuffer = new byte[game.stream.Length];
                game.stream.Read(newBuffer, 0, newBuffer.Length);
                string        newText = Encoding.UTF8.GetString(newBuffer);
                List <string> newlist = newText.Split(new string[] { "<?>]" }, StringSplitOptions.RemoveEmptyEntries).ToList();

                foreach (string bee in newlist)
                {
                    string[] beeParams = bee.Split(':');

                    game.Stage.Add(BeesFactory.CreateBee(beeParams[0], Int32.Parse(beeParams[1]), Int32.Parse(beeParams[2])));
                }
                Logger.Log.Info("Game loading. ID:" + gameID);
                return("Loaded.");

            default:
                Logger.Log.Warn("Unknown loading type request.");
                break;
            }
            return("Save is not found.");
        }