Browse Source

Fix: Linien zwischen Distrikten

master
laurids 2 years ago
parent
commit
8eedcd3574
2 changed files with 8 additions and 3 deletions
  1. +1
    -0
      Assets/GWConquest/Prefabs/UI/DistrictConnectionLine.prefab
  2. +7
    -3
      Assets/GWConquest/Scripts/DistrictConnectionLine.cs

+ 1
- 0
Assets/GWConquest/Prefabs/UI/DistrictConnectionLine.prefab View File

@ -61,6 +61,7 @@ MonoBehaviour:
m_Material: {fileID: 0}
m_Color: {r: 0.764, g: 0.764, b: 0.764, a: 0.34117648}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:


+ 7
- 3
Assets/GWConquest/Scripts/DistrictConnectionLine.cs View File

@ -25,10 +25,12 @@ namespace GWConquest
private List<QuadEffect> Quads = new List<QuadEffect>();
private RectTransform rt;
private Canvas canvas;
private void Start()
{
rt = GetComponent<RectTransform>();
canvas = GetComponentInParent<Canvas>();
}
private void FixedUpdate()
@ -78,14 +80,16 @@ namespace GWConquest
Vector3 pos1 = RectTransformUtility.WorldToScreenPoint(cam, connection.district1.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;
float diffLength = diff.magnitude;
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);


Loading…
Cancel
Save