|
@ -25,10 +25,12 @@ namespace GWConquest |
|
|
private List<QuadEffect> Quads = new List<QuadEffect>(); |
|
|
private List<QuadEffect> Quads = new List<QuadEffect>(); |
|
|
|
|
|
|
|
|
private RectTransform rt; |
|
|
private RectTransform rt; |
|
|
|
|
|
private Canvas canvas; |
|
|
|
|
|
|
|
|
private void Start() |
|
|
private void Start() |
|
|
{ |
|
|
{ |
|
|
rt = GetComponent<RectTransform>(); |
|
|
rt = GetComponent<RectTransform>(); |
|
|
|
|
|
canvas = GetComponentInParent<Canvas>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void FixedUpdate() |
|
|
private void FixedUpdate() |
|
@ -78,14 +80,16 @@ namespace GWConquest |
|
|
Vector3 pos1 = RectTransformUtility.WorldToScreenPoint(cam, connection.district1.transform.position); |
|
|
Vector3 pos1 = RectTransformUtility.WorldToScreenPoint(cam, connection.district1.transform.position); |
|
|
Vector3 pos2 = RectTransformUtility.WorldToScreenPoint(cam, connection.district2.transform.position); |
|
|
Vector3 pos2 = RectTransformUtility.WorldToScreenPoint(cam, connection.district2.transform.position); |
|
|
|
|
|
|
|
|
pos1 += (pos2 - pos1).normalized * endDistance; |
|
|
|
|
|
pos2 += (pos1 - pos2).normalized * endDistance; |
|
|
|
|
|
|
|
|
var scale = canvas.transform.localScale.x; |
|
|
|
|
|
|
|
|
|
|
|
pos1 += (pos2 - pos1).normalized * endDistance * scale; |
|
|
|
|
|
pos2 += (pos1 - pos2).normalized * endDistance * scale; |
|
|
|
|
|
|
|
|
Vector3 diff = pos2 - pos1; |
|
|
Vector3 diff = pos2 - pos1; |
|
|
float diffLength = diff.magnitude; |
|
|
float diffLength = diff.magnitude; |
|
|
|
|
|
|
|
|
rt.position = (pos1 + pos2) / 2f; |
|
|
rt.position = (pos1 + pos2) / 2f; |
|
|
rt.sizeDelta = new Vector2(diffLength, rt.sizeDelta.y); |
|
|
|
|
|
|
|
|
rt.sizeDelta = new Vector2(diffLength / scale, rt.sizeDelta.y); |
|
|
rt.rotation = Quaternion.FromToRotation(Vector3.right, diff); |
|
|
rt.rotation = Quaternion.FromToRotation(Vector3.right, diff); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|