UI Improvements

Target box now has bars for visibility and HP
Hit indicator appears when target is damaged by player's weapons
WIP narrative integration
This commit is contained in:
Reinier Vens 2021-04-27 16:44:44 +01:00
commit ecd52b20c8
30 changed files with 2397 additions and 131 deletions

View file

@ -68,7 +68,8 @@ public class Sector
x => Zones[x.Value]);
Entrance = Zones[savedGame.Entrance];
Exit = Zones[savedGame.Exit];
if(savedGame.Exit != -1)
Exit = Zones[savedGame.Exit];
CalculateDistanceMatrix();
}
@ -119,26 +120,27 @@ public class Sector
Action<string> progressCallback = null,
uint seed = 0)
{
Faction ResolveFaction(string name) => cache.GetAll<Faction>().FirstOrDefault(f => f.Name.StartsWith(name, StringComparison.InvariantCultureIgnoreCase));
Background = background;
var allFactions = cache.GetAll<Faction>();
var random = new Random(seed == 0 ? (uint) (DateTime.Now.Ticks % uint.MaxValue) : seed);
var factions = new List<Faction>();
var protagonistFaction = allFactions.First(f => f.Name.StartsWith(settings.ProtagonistFaction, StringComparison.InvariantCultureIgnoreCase));
var protagonistFaction = ResolveFaction(settings.ProtagonistFaction);
factions.Add(protagonistFaction);
var antagonistFaction = allFactions.First(f => f.Name.StartsWith(settings.AntagonistFaction, StringComparison.InvariantCultureIgnoreCase));
var antagonistFaction = ResolveFaction(settings.AntagonistFaction);
factions.Add(antagonistFaction);
var bufferFaction = allFactions.First(f => f.Name.StartsWith(settings.BufferFaction, StringComparison.InvariantCultureIgnoreCase));
var bufferFaction = ResolveFaction(settings.BufferFaction);
factions.Add(bufferFaction);
var questFaction = allFactions.First(f => f.Name.StartsWith(settings.QuestFaction, StringComparison.InvariantCultureIgnoreCase));
var questFaction = ResolveFaction(settings.QuestFaction);
factions.Add(questFaction);
var neutralFactions = settings.NeutralFactions
.Select(s => allFactions.First(f => f.Name.StartsWith(s, StringComparison.InvariantCultureIgnoreCase)))
.Select(ResolveFaction)
.ToArray();
factions.AddRange(neutralFactions);