Example #1
0
        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;
        }
Example #2
0
        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;
            }
        }