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); }
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; // } //} }
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; }
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); } }
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(); } }