Ejemplo n.º 1
0
        public ActionResult Create(string user1, string user2)
        {
            Mediator mediator = new Mediator();

            mediator.PlayersManager = new PlayersManager(mediator);
            mediator.BattleManager  = new BattleManager(mediator);
            mediator.UserManager    = new UserManager(mediator);
            var    db     = ApplicationDbContext.GetInstance();
            Battle battle = mediator.AddBattle(db, user1, user2);

            #region iškelta į BattleManager, prie Mediator
            //if (battle == null)
            //{
            //    User player = mediator.FindUser(db, playerName);
            //    User enemy = mediator.FindUser(db, enemyName);
            //    battle = new Battle(player, enemy);
            //    db.Battles.Add(battle);
            //    db.SaveChanges();
            //}
            #endregion

            //>>>>>>>>>>>>-Memento logic for players state 20191124------------------
            battle.Player.SetMementoStateFree();
            battle.Enemy.SetMementoStateFree();
            db.SaveChanges();
            //---------------------------------------------------------<<<<<<<<<<<<<<
            battle.Player.ChangeState();
            battle.Enemy.ChangeState();
            db.SaveChanges();

            //---------
            var context = getContext();
            context.Clients.Group(getEnemyName(battle)).answer(User.Identity.Name, battle.BattleId);
            return(RedirectToAction("Index", new
            {
                battleId = battle.BattleId
            }));
        }