Add manual radar ping, blip refresh/fade, and resolution statue barrier
- Manual hider ping on "E": server-authoritative RequestManualPing gated to Seek + living hider; shared EmitRadarPings path so interval and manual pings produce identical blips. Ping key read client-side in GameModeManager, role- gated and excluded in FreeCam (E is fly-up there). - Radar refreshes an existing blip for the same transform target instead of duplicating it (lifetime resets to the configured value) via RadarTarget.Refresh. - Blips fade in/out independently of the disc fade: per-blip MoveTowards factor multiplied on top of the radar fade, refresh-safe, with separate in/out speeds. - Resolution countdown waits for conversion statues to load: generalized the match-start loading barrier (RunReadinessBarrier over _barrierTargets, hold phase carried in MsgBeginLoad) and run it a second time over statue IDs before starting the real resolveDuration. Only holds for Conversion with real statues. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
8f31c07bef
commit
bfcd84afe4
4 files changed
+199
-64
No files matched your search
@@ -117,6 +117,18 @@ public sealed class Radar : MonoBehaviour
|
||||
return null;
|
||||
}
|
||||
|
||||
// Already tracking this exact transform? Refresh its countdown instead of stacking a duplicate blip,
|
||||
// so a fresh ping (interval or manual) just resets the existing target's lifetime.
|
||||
for (int i = 0; i < _blips.Count; i++)
|
||||
{
|
||||
var existing = _blips[i];
|
||||
if (existing && existing.Target == target)
|
||||
{
|
||||
existing.Refresh(lifetime);
|
||||
return existing;
|
||||
}
|
||||
}
|
||||
|
||||
Transform clone = Instantiate(targetTemplate, targetTemplate.parent);
|
||||
clone.name = "Target";
|
||||
clone.localPosition = targetTemplate.localPosition;
|
||||
|
||||
Reference in new issue
Block a user