Remove .Owner from melee weapons (#14600)
This commit is contained in:
@@ -44,9 +44,7 @@ public sealed class MeleeWindupOverlay : Overlay
|
||||
return;
|
||||
}
|
||||
|
||||
var comp = _melee.GetWeapon(owner.Value);
|
||||
|
||||
if (comp == null)
|
||||
if (!_melee.TryGetWeapon(owner.Value, out var meleeUid, out var comp))
|
||||
return;
|
||||
|
||||
var handle = args.WorldHandle;
|
||||
@@ -67,7 +65,7 @@ public sealed class MeleeWindupOverlay : Overlay
|
||||
return;
|
||||
}
|
||||
|
||||
if (!xformQuery.TryGetComponent(comp.Owner, out var xform) ||
|
||||
if (!xformQuery.TryGetComponent(meleeUid, out var xform) ||
|
||||
xform.MapID != args.MapId)
|
||||
{
|
||||
return;
|
||||
@@ -84,7 +82,7 @@ public sealed class MeleeWindupOverlay : Overlay
|
||||
// Use the sprite itself if we know its bounds. This means short or tall sprites don't get overlapped
|
||||
// by the bar.
|
||||
float yOffset;
|
||||
if (spriteQuery.TryGetComponent(comp.Owner, out var sprite))
|
||||
if (spriteQuery.TryGetComponent(meleeUid, out var sprite))
|
||||
{
|
||||
yOffset = -sprite.Bounds.Height / 2f - 0.05f;
|
||||
}
|
||||
@@ -106,11 +104,11 @@ public sealed class MeleeWindupOverlay : Overlay
|
||||
const float endX = 22f;
|
||||
|
||||
// Area marking where to release
|
||||
var ReleaseWidth = 2f * SharedMeleeWeaponSystem.GracePeriod / (float) comp.WindupTime.TotalSeconds * EyeManager.PixelsPerMeter;
|
||||
var releaseMiddle = (endX - startX) / 2f + startX;
|
||||
var releaseWidth = 2f * SharedMeleeWeaponSystem.GracePeriod / (float) comp.WindupTime.TotalSeconds * EyeManager.PixelsPerMeter;
|
||||
const float releaseMiddle = (endX - startX) / 2f + startX;
|
||||
|
||||
var releaseBox = new Box2(new Vector2(releaseMiddle - ReleaseWidth / 2f, 3f) / EyeManager.PixelsPerMeter,
|
||||
new Vector2(releaseMiddle + ReleaseWidth / 2f, 4f) / EyeManager.PixelsPerMeter);
|
||||
var releaseBox = new Box2(new Vector2(releaseMiddle - releaseWidth / 2f, 3f) / EyeManager.PixelsPerMeter,
|
||||
new Vector2(releaseMiddle + releaseWidth / 2f, 4f) / EyeManager.PixelsPerMeter);
|
||||
|
||||
releaseBox = releaseBox.Translated(position);
|
||||
handle.DrawRect(releaseBox, Color.LimeGreen);
|
||||
@@ -131,11 +129,11 @@ public sealed class MeleeWindupOverlay : Overlay
|
||||
var xPos = (endX - startX) * fraction + startX;
|
||||
|
||||
// In pixels
|
||||
const float Width = 2f;
|
||||
const float width = 2f;
|
||||
// If we hit the end we won't draw half the box so we need to subtract the end pos from it
|
||||
var endPos = xPos + Width / 2f;
|
||||
var endPos = xPos + width / 2f;
|
||||
|
||||
var box = new Box2(new Vector2(Math.Max(startX, endPos - Width), 3f) / EyeManager.PixelsPerMeter,
|
||||
var box = new Box2(new Vector2(Math.Max(startX, endPos - width), 3f) / EyeManager.PixelsPerMeter,
|
||||
new Vector2(Math.Min(endX, endPos), 4f) / EyeManager.PixelsPerMeter);
|
||||
|
||||
box = box.Translated(position);
|
||||
|
||||
Reference in New Issue
Block a user