Exemple #1
0
        public ExtTrackPoint(WCFStaticData wcfStaticData, WCFTrackPoint wcfTrackPoint)
        {
            WCFTrackPoint = wcfTrackPoint;

            GamePoint = wcfStaticData.GamePoint
                        .Single(p => p.Id == WCFTrackPoint.GamePoint);
        }
        public ExtTokenPoint(WCFStaticData wcfStaticData, WCFTokenPoint wcfTokenPoint)
        {
            WCFTokenPoint = wcfTokenPoint;

            WCFGamePoint = wcfStaticData.GamePoint
                           .Single(p => p.Id == WCFTokenPoint.GamePoint);
        }
        public ExtObjectPoint(WCFStaticData staticData, WCFObjectPoint wcfObjectPoint)
        {
            WCFObjectPoint = wcfObjectPoint;

            GamePoint = staticData.GamePoint
                        .Single(p => p.Id == WCFObjectPoint.GamePoint);
        }
Exemple #4
0
        public string RavenVoting => $"{Step.Game.GetUserLastVoting(Step.ExtGameUser, "Королевский_двор").Value?.WCFStep.Voting.PowerCount ?? 0}"; //|{Step.ExtGameUserInfo.WCFGameUserInfo.Power}";


        public ExtGameUserInfo(ExtStep step, WCFGameUserInfo wcfGameUserInfo)
        {
            Step            = step;
            WCFGameUserInfo = wcfGameUserInfo;

            ExtUnit = WCFGameUserInfo.Unit.
                      Select(p => new ExtUnit(step, p))
                      .ToList();
            ExtPowerCounter = WCFGameUserInfo.PowerCounter.
                              Select(p => new ExtPowerCounter(step, p))
                              .ToList();
            ExtOrder = wcfGameUserInfo.Order.
                       Select(p => new ExtOrder(step, p))
                       .ToList();
            TerrainCol = wcfGameUserInfo.GameUserTerrain.
                         Select(p => p.ExtTerrain());

            VictoryPosition = GetVictoryPosition();
            SupplyPosition  = GetSupplyPosition();

            //if (Step.WCFStep.Voting != null)
            //{
            //    switch (Step.WCFStep.Voting.Target)
            //    {
            //        case "Железный_трон": ThroneVoting = Step.WCFStep.Voting.PowerCount.ToString(); break;
            //        case "Вотчины": BladeVoting = Step.WCFStep.Voting.PowerCount.ToString(); break;
            //        case "Королевский_двор": RavenVoting = Step.WCFStep.Voting.PowerCount.ToString(); break;
            //    }
            //}
        }
Exemple #5
0
        public ExtOrder(ExtStep step, WCFOrder wcfOrder)
        {
            Step     = step;
            WCFOrder = wcfOrder;

            ExtTerrain = MainWindow.ClientInfo.WorldData.Terrain.Single(p => p.WCFTerrain.Name == WCFOrder.Terrain);
            Position   = this.ExtTerrain.ExtTokenPoint.Single(p => p.WCFTokenPoint.TokenType == "Приказ").WCFGamePoint;

            Step.Game.CurrentViewKeyCganged += ExtGame_CurrentViewKeyCgange;
            Step.Game.SelecteOrderChanged   += ExtOrder_SelectedOrderChange;
            ClientInfo.ClientGameChanging   += ClientInfo_ClientGameChanging;
        }
Exemple #6
0
        public void UpdateGamePoint(string clientVersion, string login, WCFGamePoint newPoint)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(login) || newPoint == null)
                {
                    throw new Exception("Некоректные данные");
                }

#if !DEBUG
                //проверка версии клиента
                if (!string.IsNullOrEmpty(_UpdaterService.ClientVersion) && clientVersion != _UpdaterService.ClientVersion)
                {
                    throw new Exception($"Неверная версия клиента: login={login}.");
                }
#endif

                using (GamePortalEntities gamePortal = new GamePortalEntities())
                {
                    User gpUser = gamePortal.Users.FirstOrDefault(p => p.Login == login);
                    if (gpUser == null || !gpUser.Titles.Any(p => p.Name == "dynamic_title1*titleType_Создатель"))
                    {
                        throw new Exception("Доступ запрещён id" + gpUser?.Login);
                    }
                }

                using (Agot2p6Entities dbContext = new Agot2p6Entities())
                {
                    GamePoint curPoint = dbContext.GamePoint.FirstOrDefault(p => p.Id == newPoint.Id);
                    if (curPoint == null)
                    {
                        throw new Exception("Неизвестная точка");
                    }

                    curPoint.X = newPoint.X;
                    curPoint.Y = newPoint.Y;

                    dbContext.SaveChanges();
                }
            }
            catch (Exception exp)
            {
                GameException.NewGameException(null, "Не удалось изменить точку:", exp, false);
            }
        }
Exemple #7
0
        public ExtGameInfo(ExtStep step, WCFGameInfo wcfGameInfo)
        {
            Step        = step;
            WCFGameInfo = wcfGameInfo;

            if (wcfGameInfo.Battle != null)
            {
                ExtBattle = new ExtBattle(Step, wcfGameInfo.Battle);
            }

            ExtGarrison = wcfGameInfo.Garrison
                          .Select(p => new ExtGarrison(p))
                          .ToList();

            ExtVesterosDecks = wcfGameInfo.VesterosDecks
                               .Select(p => new ExtVesterosDecks(Step, p))
                               .OrderBy(p => p.WCFVesterosDecks.Sort)
                               .ToList();

            TurnPosition = MainWindow.ClientInfo.WorldData.TrackPoint.
                           Single(p => p.WCFTrackPoint.TrackType == "Раунд" && p.WCFTrackPoint.Value == WCFGameInfo.Turn).
                           GamePoint;

            BarbarianPosition = MainWindow.ClientInfo.WorldData.TrackPoint.
                                Single(p => p.WCFTrackPoint.TrackType == "Одичалые" && p.WCFTrackPoint.Value == WCFGameInfo.Barbarian).
                                GamePoint;

            RavenOverlayPosition = MainWindow.ClientInfo.WorldData.TrackPoint.
                                   Single(p => p.WCFTrackPoint.TrackType == "Королевский_двор" && p.WCFTrackPoint.Value == 1).
                                   GamePoint;

            if (Step.Game.ViewGameInfo != null && Step.Game.ViewGameInfo.WCFGameInfo.Turn != wcfGameInfo.Turn)
            {
                Step.Game.OnNewWesterosPhase();
            }
        }