示例#1
0
        private void UpdateUnitInfoWindow()
        {
            if (_unitInfoWindows == null)
            {
                return;
            }
            if (_selectedUnitInfo != null)
            {
                string info = "";
                info = _selectedUnitInfo.ToLongString();// +"\n"
                //+ "Distance to target: " + _selectedUnitInfo.Position.MostRecentDistanceToTargetM + "\n";
                info += _selectedUnitInfo.UnitSubType.ToString() + "\n";
                info += "Mission: " + _selectedUnitInfo.MissionType + " " + _selectedUnitInfo.MissionTargetType + "\n";
                if (_selectedUnitInfo.HasFormationOrder)
                {
                    info += "Has formation order\n";
                }
                if (_selectedUnitInfo.SupportsOrderType.Contains(GameConstants.OrderType.SpecialOrders))
                {
                    info += "Special orders:\n";
                    foreach (var specOrder in _selectedUnitInfo.SupportsSpecialOrders)
                    {
                        info += specOrder + "\n";
                    }
                }
                foreach (var order in _selectedUnitInfo.OrderQueue)
                {
                    info += order + "\n";
                }
                if (_selectedUnitInfo.IsUsingActiveRadar)
                {
                    info += "Active Radar\n";
                }
                if (_selectedUnitInfo.IsUsingActiveSonar)
                {
                    info += "Active Sonar\n";
                }
                foreach (var sens in _selectedUnitInfo.Sensors)
                {
                    info += string.Format("\n* {0} Operational: {1}",
                                          sens.ToString(), sens.IsOperational);
                }
                foreach (var wpn in _selectedUnitInfo.Weapons)
                {
                    info += string.Format("\n* {0}  Ammo: {1} of {2}",
                                          wpn.ToString(), wpn.AmmunitionRemaining, wpn.MaxAmmunition);
                }
                _unitInfoWindows.ShowInfo(info);
            }
            if (_selectedDetectedUnitInfo != null)
            {
                string info = _selectedDetectedUnitInfo.ToLongString();

                _unitInfoWindows.ShowDetectedUnitInfo(info);
            }
        }
示例#2
0
        private void btnInfo_Click(object sender, RoutedEventArgs e)
        {
            BaseUnitInfo unit = lstUnits.SelectedItem as BaseUnitInfo;

            if (unit != null)
            {
                string info = "";
                info = unit.ToLongString(); // +"\n" + "Distance to target: " + unit.Position.MostRecentDistanceToTargetM + "\n";
                foreach (var sens in unit.Sensors)
                {
                    info += string.Format("\n* {0} Operational: {1}",
                                          sens.ToString(), sens.IsOperational);
                }
                foreach (var wpn in unit.Weapons)
                {
                    info += string.Format("\n* {0}  Ammo: {1} of {2}",
                                          wpn.ToString(), wpn.AmmunitionRemaining, wpn.MaxAmmunition);
                }
                _unitInfoWindows.ShowInfo(info);
            }
        }