void City_InitWarriorsCnt(city.events.BasicCityEvent basicCityEvent) { var cityOut = (basicCityEvent.city.OutputInfo as OutputInfoWPF); TextBlock textBlock = new TextBlock { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, Foreground = this.cityWarriorsCntStrokeColor, Text = basicCityEvent.city.currWarriors + " / " + basicCityEvent.city.maxWarriors, }; Viewbox viewbox = new Viewbox() { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, Child = textBlock, }; ResizeViewbox(); cityOut.cityGrid.SizeChanged += (a, b) => ResizeViewbox(); Grid.SetZIndex(viewbox, 40); cityOut.cityGrid.Children.Add(viewbox); cityOut.warriorCnt = textBlock; void ResizeViewbox() { var size = GetSizeWithMod(this.citySizeMod, cityIsSquere); viewbox.Width = size.Item1 * cityWarriorsCntRelativeMod; viewbox.Height = size.Item2 * cityWarriorsCntRelativeMod; } }
//---------------------------------------------- Events - city ---------------------------------------------- void City_InitGrid(city.events.BasicCityEvent basicCityEvent) { Grid cityGrid = new Grid(); Grid.SetColumn(cityGrid, basicCityEvent.city.X); Grid.SetRow(cityGrid, basicCityEvent.city.Y); Grid.SetZIndex(cityGrid, 50); mainGrid.Children.Add(cityGrid); (basicCityEvent.city.OutputInfo as OutputInfoWPF).cityGrid = cityGrid; }
void City_InitShape(city.events.BasicCityEvent basicCityEvent) { var cityOut = (basicCityEvent.city.OutputInfo as OutputInfoWPF); Shape shape = new Ellipse(); SetShapeStyle(shape, basicCityEvent.city.PlayerId); basicCityEvent.city.Captured += (b) => SetShapeStyle(shape, basicCityEvent.city.PlayerId); ResizeCityShape(shape, this.citySizeMod); cityOut.cityGrid.SizeChanged += (b, c) => ResizeCityShape(shape, this.citySizeMod); Grid.SetZIndex(shape, 30); cityOut.cityGrid.Children.Add(shape); cityOut.cityShape = shape; }