/* * \brief * */ public void selectHex(Hex h, List <UnitTexture> ListUnit) { if (selectedHex != null) { parent.infoUnit.Children.Clear(); selectedHex.deselect(); } selectedHex = h; foreach (UnitTexture uTex in ListUnit) { if (game.currentPlayer.belongTo(ListUnit.First <UnitTexture>().unit)) { UnitScore us = new UnitScore(uTex); us.pg = this; uTex.unitscore = us; parent.infoUnit.Children.Add(us); } else { UnitInformation info = new UnitInformation(ListUnit); parent.info.Navigate(info); } } // if (ListUnit.Count > 0 && ListUnit.First<UnitTexture>().unit.faction == parent.game.currentPlayer.faction.troops.First<Unit>().faction) if (ListUnit.Count > 0 && game.currentPlayer.belongTo(ListUnit.First <UnitTexture>().unit)) { selectUnit(ListUnit.First <UnitTexture>()); } else { deselectEverything(); } }
/* * \brief show unit statistics and highlight accessible hexagons * */ internal void selectUnit(UnitTexture unitTex) { highlightAccessibleHexagons(unitTex); this.selectedUnit = unitTex; foreach (UnitScore unitScore in parent.infoUnit.Children) { unitScore.unselect(); } // update the control panel unitTex.unitscore.select(); //parent.unitIcon.Source = new BitmapImage(new Uri("pack://application:,,,/textures/" + unitTex.unit.faction + ".png", UriKind.RelativeOrAbsolute)); //parent.unitIcon.Visibility = Visibility.Visible; //parent.unitName.Content = "Beautiful unit"; //parent.movementPoints.Content = unitTex.unit.movementPoints; UnitInformation info = new UnitInformation(unitTex.unit); parent.info.Navigate(info); info.Visibility = Visibility.Visible; }