private void LoadUnit() { CloseUnit(); Window.btn_unit_exit.Click += UnitButtonExit; Window.btn_unit_link.Click += LinkClick; Window.btn_unit_order_cancel.Click += OrderCanel; Window.lbl_unit_location.MouseLeftButtonUp += LocationClick; HoverHandler.AddHover(Window.lbl_unit_location); Window.lbl_unit_commander.MouseLeftButtonUp += CommanderClick; HoverHandler.AddHover(Window.lbl_unit_commander); Window.img_unit_commander.MouseLeftButtonUp += CommanderClick; }
public void OpenUnit(Unit unit) { CloseUnit(); Window.gui_grid.Children.Add(Window.gui_grid_unit_left); #region Parents Window.panel_unit_parents.Children.Clear(); Unit parent = unit.Parent; List <UIElement> parents = new List <UIElement>(); int c = 0; while (true) { if (parent == null) { break; } Window.btn_unit_parent.Content = parent.Name; Button btn = (Button)SubWindow.CopyFrom(Window.btn_unit_parent); btn.Click += ParentClick; btn.Tag = parent; parents.Add(btn); parent = parent.Parent; c++; } parents.Reverse(); foreach (UIElement element in parents) { Window.panel_unit_parents.Children.Add(element); } #endregion #region Top Window.img_unit_commander.Source = Images.IconPerson; Window.lbl_unit_commander.Content = "Kein Befehlshaber"; Window.img_unit_main_size.Source = unit.Symbol; Window.img_unit_main_counter.Source = unit.IconCounter; Window.lbl_unit_name.Content = unit.Name; Window.lbl_unit_amount.Content = unit.CurStrength; Window.proBar_unit_org.Maximum = unit.MaxOrganisation; Window.proBar_unit_org.Value = unit.CurOrganisation; Window.proBar_unit_org.ToolTip = unit.CurOrganisation + " / " + unit.MaxOrganisation; Window.proBar_unit_strenght.Maximum = unit.MaxStrength; Window.proBar_unit_strenght.Value = unit.CurStrength; Window.proBar_unit_strenght.ToolTip = unit.CurStrength + " / " + unit.MaxStrength; if (unit.Commander != null) { Window.img_unit_commander.Source = unit.Commander.Image; Window.img_unit_commander.Tag = unit.Commander; Window.lbl_unit_commander.Content = unit.Commander.Name; Window.lbl_unit_commander.Tag = unit.Commander; } #endregion #region Center Window.lbl_unit_location.Content = unit.Location.Name; Window.lbl_unit_location.Tag = unit.Location; if (unit.IsLinked) { Window.btn_unit_link.Content = "Link-Out"; } else { Window.btn_unit_link.Content = "Linkup"; } Window.btn_unit_link.Tag = unit; Window.btn_unit_link.IsEnabled = true; if (unit.Parent == null || unit.Parent.LocationID != unit.LocationID) { Window.btn_unit_link.IsEnabled = false; } //- Orders Window.lbl_unit_order.Content = "Kein Befehl"; if (unit.Orders.Count != 0) { Order order = unit.Orders[0]; Window.lbl_unit_order.Content = order.OrderText; Window.btn_unit_order_cancel.Tag = unit; } #endregion #region LocalUnits Window.panel_unit_localunits.Children.Clear(); Window.lbl_unit_localunit_count.Content = unit.LocalUnits.Count; foreach (Unit local_unit in unit.LocalUnits) { Window.img_localunit_counter.Source = local_unit.IconCounter; Window.img_localunit_size.Source = local_unit.Symbol; Window.lbl_localunit_name.Content = local_unit.Name; Window.lbl_localunit_size.Content = local_unit.CurStrength; Window.proBar_localunit_org.Maximum = local_unit.MaxOrganisation; Window.proBar_localunit_org.Value = local_unit.CurOrganisation; Window.proBar_localunit_strenght.Maximum = local_unit.MaxStrength; Window.proBar_localunit_strenght.Value = local_unit.CurStrength; Border sub = (Border)SubWindow.CopyFrom(Window.border_localunit_vorlage); HoverHandler.AddHover(sub); Window.panel_unit_localunits.Children.Add(sub); } #endregion #region SubUnits Window.panel_unit_subunits.Children.Clear(); Window.lbl_unit_subunit_count.Content = unit.SubUnits.Count; int subunits_amount = 0; foreach (Unit sub_unit in unit.SubUnits) { //- Mark other Units in Unit SubUnitBorders.Add(sub_unit); if (sub_unit.BorderParent != null) { sub_unit.BorderParent.Background = ColorHandler.ColorFromRGB("10-10-220"); } Window.img_subunit_counter.Source = sub_unit.IconCounter; Window.img_subunit_size.Source = sub_unit.Symbol; Window.lbl_subunit_name.Content = sub_unit.Name; Window.lbl_subunit_size.Content = sub_unit.CurStrength; Window.proBar_subunit_org.Maximum = sub_unit.MaxOrganisation; Window.proBar_subunit_org.Value = sub_unit.CurOrganisation; Window.proBar_subunit_strenght.Maximum = sub_unit.MaxStrength; Window.proBar_subunit_strenght.Value = sub_unit.CurStrength; Window.lbl_subunit_commander.Content = "Kein Befehlshaber"; if (sub_unit.Commander != null) { Window.lbl_subunit_commander.Content = sub_unit.Commander.Name; } subunits_amount += sub_unit.CurStrength; Border sub = (Border)SubWindow.CopyFrom(Window.border_unit_vorlage); sub.Tag = sub_unit; sub.MouseLeftButtonUp += SubUnitClick; HoverHandler.AddHover(sub); Window.panel_unit_subunits.Children.Add(sub); } Window.lbl_unit_subunit_amount.Content = subunits_amount; #endregion //- Parent if (unit.Parent != null && unit.Parent.BorderParent != null) { unit.Parent.BorderParent.Background = ColorHandler.ColorFromRGB("20-220-20"); SubUnitParten = unit.Parent; } }