Examine prediction (#23565)

* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
This commit is contained in:
Kara
2024-01-05 23:53:13 -07:00
committed by GitHub
parent 731cfc278a
commit 0ae3858b69
41 changed files with 693 additions and 431 deletions

View File

@@ -265,16 +265,20 @@ public abstract partial class SharedGunSystem
var (count, _) = GetChamberMagazineCountCapacity(uid, component);
string boltState;
if (component.BoltClosed != null)
using (args.PushGroup(nameof(ChamberMagazineAmmoProviderComponent)))
{
if (component.BoltClosed == true)
boltState = Loc.GetString("gun-chamber-bolt-open-state");
else
boltState = Loc.GetString("gun-chamber-bolt-closed-state");
args.PushMarkup(Loc.GetString("gun-chamber-bolt", ("bolt", boltState), ("color", component.BoltClosed.Value ? Color.FromHex("#94e1f2") : Color.FromHex("#f29d94"))));
}
if (component.BoltClosed != null)
{
if (component.BoltClosed == true)
boltState = Loc.GetString("gun-chamber-bolt-open-state");
else
boltState = Loc.GetString("gun-chamber-bolt-closed-state");
args.PushMarkup(Loc.GetString("gun-chamber-bolt", ("bolt", boltState),
("color", component.BoltClosed.Value ? Color.FromHex("#94e1f2") : Color.FromHex("#f29d94"))));
}
args.PushMarkup(Loc.GetString("gun-magazine-examine", ("color", AmmoExamineColor), ("count", count)));
args.PushMarkup(Loc.GetString("gun-magazine-examine", ("color", AmmoExamineColor), ("count", count)));
}
}
private bool TryTakeChamberEntity(EntityUid uid, [NotNullWhen(true)] out EntityUid? entity)

View File

@@ -14,8 +14,13 @@ public abstract partial class SharedGunSystem
if (!args.IsInDetailsRange || !component.ShowExamineText)
return;
args.PushMarkup(Loc.GetString("gun-selected-mode-examine", ("color", ModeExamineColor), ("mode", GetLocSelector(component.SelectedMode))));
args.PushMarkup(Loc.GetString("gun-fire-rate-examine", ("color", FireRateExamineColor), ("fireRate", $"{component.FireRate:0.0}")));
using (args.PushGroup(nameof(GunComponent)))
{
args.PushMarkup(Loc.GetString("gun-selected-mode-examine", ("color", ModeExamineColor),
("mode", GetLocSelector(component.SelectedMode))));
args.PushMarkup(Loc.GetString("gun-fire-rate-examine", ("color", FireRateExamineColor),
("fireRate", $"{component.FireRate:0.0}")));
}
}
private string GetLocSelector(SelectiveFire mode)