public ExtSupport(ExtStep step, WCFSupport wcfSupport) { Step = step; WCFSupport = wcfSupport; User = step.ExtGameUser; UpdateView(); }
private void ExtGame_GameUserEvent(ExtGameUser user, bool isAdd) { if (isAdd) { if (user.WCFGameUser.HomeType == null) { Items.Add(new GamePersonItemViewModel() { GameUserId = user.WCFGameUser.Id, User = user.GPUser }); } else { Items.Insert(0, new GamePersonItemViewModel() { GameUserId = user.WCFGameUser.Id, User = user.GPUser, HomeType = user.ExtHomeType }); } } else { Items.Remove(Items.SingleOrDefault(p => p.GameUserId == user.WCFGameUser.Id)); } }
//проверяет возможность переброски private bool rCheckTransfer(ExtTerrain startTerrain, ExtTerrain endTerrain, List <ExtTerrain> checkedTerrain, ExtGameUser holder) { //цикл по своим соседним морям foreach (var item in startTerrain.JoinTerrainCol.Where(p => p.WCFTerrain.TerrainType == "Море" && p.ExtHolderUser == holder)) { //игнорируем ранее проверенные моря if (checkedTerrain.Contains(item)) { continue; } //граничит? if (item.JoinTerrainCol.Contains(endTerrain)) { return(true); } //добавляем в игнор checkedTerrain.Add(item); //рекурсия if (rCheckTransfer(item, endTerrain, checkedTerrain, holder)) { return(true); } } return(false); }
private void OnGameUserEvent(ExtGameUser user, bool type) { GameUserEvent?.Invoke(user, type); }