fix detection range
problem : detection range didn't show anymore on placeholders solution : calculate detection range from collider's offset and size instead of it's bound
This commit is contained in:
parent
96d9b0fd7b
commit
3c1a94257f
@ -10,11 +10,12 @@ public class Detection : MonoBehaviour
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (!_collider) _collider = GetComponent<BoxCollider2D>();
|
var _coll = GetComponent<BoxCollider2D>();
|
||||||
var bounds = _collider.bounds;
|
var rect = new Rect(_coll.offset, _coll.size);
|
||||||
return new Rect(bounds.min - transform.position, bounds.size);
|
return rect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Entity _entityLinked;
|
private Entity _entityLinked;
|
||||||
protected virtual void Start()
|
protected virtual void Start()
|
||||||
|
|||||||
@ -58,11 +58,11 @@ public class GameObjectPlacementButton : UnitPlacementButton
|
|||||||
var rend = detection.AddComponent<SpriteRenderer>();
|
var rend = detection.AddComponent<SpriteRenderer>();
|
||||||
rend.sprite = _detectionRangeSprite;
|
rend.sprite = _detectionRangeSprite;
|
||||||
rend.sortingLayerName = "Character";
|
rend.sortingLayerName = "Character";
|
||||||
rend.sortingOrder = 0;
|
rend.sortingOrder = 1;
|
||||||
rend.color = new Color(1, 1, 1, 0.2f);
|
rend.color = new Color(1, 1, 1, 0.2f);
|
||||||
|
|
||||||
detection.transform.SetParent(placeholder.transform);
|
detection.transform.SetParent(placeholder.transform);
|
||||||
detection.transform.localPosition = detectionRect.center;
|
detection.transform.localPosition = detectionRect.position;
|
||||||
detection.transform.localScale = detectionRect.size;
|
detection.transform.localScale = detectionRect.size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user