Hygiene B4b: extract CameraResolver (dedup triplicated ResolveCamera)
The byte-identical ResolveCamera() (Camera.main -> PrototypeCameraRig fallback) in PlayerInputGatherSystem, BuildSendSystem, and AimReticleSystem now call one CameraResolver.Resolve(); camera-resolution policy lives in one place. Behaviour-identical; compiles clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -143,7 +143,7 @@ namespace ProjectM.Client
|
||||
}
|
||||
|
||||
if (!SystemAPI.TryGetSingleton<BaseAnchor>(out var anchor)) { HideGhost(); return; }
|
||||
if (_camera == null) _camera = ResolveCamera();
|
||||
if (_camera == null) _camera = CameraResolver.Resolve();
|
||||
if (_camera == null || mouse == null) { HideGhost(); return; }
|
||||
|
||||
// Cursor -> ground -> cell.
|
||||
@@ -248,16 +248,7 @@ namespace ProjectM.Client
|
||||
_ghost.SetActive(false);
|
||||
}
|
||||
|
||||
UnityEngine.Camera ResolveCamera()
|
||||
{
|
||||
var cam = UnityEngine.Camera.main;
|
||||
if (cam == null)
|
||||
{
|
||||
var rig = Object.FindAnyObjectByType<PrototypeCameraRig>();
|
||||
if (rig != null) cam = rig.GetComponent<UnityEngine.Camera>();
|
||||
}
|
||||
return cam;
|
||||
}
|
||||
|
||||
|
||||
bool TryGetLocalPlayerCell(out int2 cell)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user