Пример #1
0
 /// <summary>
 /// Updates the current GuiCursorHudText instance by replacing the lines identified by keys.
 /// </summary>
 /// <param name="intelLevel">The intel level.</param>
 /// <param name="keys">The line keys.</param>
 private void UpdateGuiCursorHudText(IntelLevel intelLevel, params GuiHudLineKeys[] keys) {
     IColoredTextList coloredTextList;
     foreach (var key in keys) {
         coloredTextList = GuiHudTextFactory.MakeInstance(key, intelLevel, _data);
         _guiCursorHudText.Replace(key, coloredTextList);
     }
 }
Пример #2
0
 /// <summary>
 /// Gets a new, updated or simply existing GuiCursorHudText instance containing 
 /// the text used by the GuiCursorHud display.
 /// </summary>
 /// <param name="intelLevel">The intel level.</param>
 /// <returns></returns>
 public GuiHudText GetHudText(IntelLevel intelLevel) {        // OPTIMIZE Detect individual data property changes and replace them individually
     if (_guiCursorHudText == null || _guiCursorHudText.IntelLevel != intelLevel || _data.IsChanged) {
         // don't have the right version of GuiCursorHudText so make one
         _guiCursorHudText = GuiHudTextFactory.MakeInstance(intelLevel, _data);
         _data.AcceptChanges();   // once we make a new one from current data, it is no longer dirty, if it ever was
     }
     else {
         // we have the right clean version so simply update the values that routinely change
         UpdateGuiCursorHudText(intelLevel, GuiHudLineKeys.Distance);
         if (intelLevel == IntelLevel.OutOfDate) {
             UpdateGuiCursorHudText(IntelLevel.OutOfDate, GuiHudLineKeys.IntelState);
         }
         if (_optionalKeys != null) {
             UpdateGuiCursorHudText(intelLevel, _optionalKeys);
         }
     }
     return _guiCursorHudText;
 }
 public GuiCursorHudTextFactory_Ship(ShipData data, IntelLevel intelLevel) : base(data, intelLevel) { }
 public AGuiCursorHudTextFactory(Data data, IntelLevel intelLevel) {
     Arguments.ValidateNotNull(data);
     IntelLevel = intelLevel;
     _data = data;
 }
 private string ConstructIntelText(IntelLevel intelLevel, GameTimePeriod intelAge) {
     string intelMsg = intelLevel.GetValueName();
     switch (intelLevel) {
         case IntelLevel.Unknown:
         case IntelLevel.LongRangeSensors:
         case IntelLevel.ShortRangeSensors:
         case IntelLevel.Complete:
             // no data to add
             break;
         case IntelLevel.OutOfDate:
             string addendum = String.Format(". Last Intel {0} days ago.", intelAge.FormattedPeriod);
             intelMsg = intelMsg + addendum;
             break;
         case IntelLevel.Nil:
         default:
             throw new NotImplementedException(ErrorMessages.UnanticipatedSwitchValue.Inject(intelLevel));
     }
     return intelMsg;
 }
 public ColoredTextList_Intel(IGameDate exploredDate, IntelLevel intelLevel) {
     GameTimePeriod intelAge = new GameTimePeriod(exploredDate, GameTime.Date);
     string intelText_formatted = ConstructIntelText(intelLevel, intelAge);
     _list.Add(new ColoredText(intelText_formatted));
 }
 public GuiCursorHudTextFactory_Fleet(FleetData data, IntelLevel intelLevel) : base(data, intelLevel) { }
 public GuiCursorHudTextFactory_System(SystemData data, IntelLevel intelLevel) : base(data, intelLevel) { }