//установить жетон власти private bool HoldTerrain(ExtTerrain dropTerrain) { //жетон власти установлен if (dropTerrain.PowerCounter != null && !dropTerrain.PowerCounter.IsTemp) { return(true); } if (dropTerrain.WCFTerrain.TerrainType != "Земля") { return(false); } //является родовой землёй //if (dropTerrain.ExtHomeType != null) if (dropTerrain.ExtHomeType == _Terrain.Game.ClientGameUser.ExtHomeType) { return(false); } //Не своя территория if (dropTerrain.ExtHolderUser != _Terrain.Game.ClientGameUser) { return(false); } //нет доступной власти if (_Terrain.Game.ClientStep.ExtGameUserInfo.WCFGameUserInfo.Power == 0) { return(false); } //не все юниты ушли if (dropTerrain.TempUnit.Count != 0) { return(false); } if (dropTerrain.PowerCounter != null) { return(true); } //создаём временный знак власти WCFPowerCounter wcfPowerCounter = new WCFPowerCounter(); wcfPowerCounter.Step = dropTerrain.ExtHolderUser.LastStep.WCFStep.Id; wcfPowerCounter.Terrain = dropTerrain.WCFTerrain.Name; wcfPowerCounter.TokenType = "Жетон_власти"; ExtPowerCounter powerCounter = new ExtPowerCounter(dropTerrain.ExtHolderUser.LastStep, wcfPowerCounter); powerCounter.IsTemp = true; powerCounter.IsSelected = false; dropTerrain.ExtHolderUser.LastStep.ExtGameUserInfo.ExtPowerCounter.Add(powerCounter); _Terrain.Game.OnPropertyChanged("ViewPowerCounter"); return(true); }
void PowerCounterView_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { _PowerCounter = (ExtPowerCounter)e.NewValue; }