summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/Wire.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assembly-CSharp/Wire.cs')
-rw-r--r--Client/Assembly-CSharp/Wire.cs61
1 files changed, 61 insertions, 0 deletions
diff --git a/Client/Assembly-CSharp/Wire.cs b/Client/Assembly-CSharp/Wire.cs
new file mode 100644
index 0000000..055bc41
--- /dev/null
+++ b/Client/Assembly-CSharp/Wire.cs
@@ -0,0 +1,61 @@
+using System;
+using UnityEngine;
+
+public class Wire : MonoBehaviour
+{
+ public Vector2 BaseWorldPos { get; internal set; }
+
+ private const int WireDepth = -14;
+
+ public SpriteRenderer Liner;
+
+ public SpriteRenderer ColorBase;
+
+ public SpriteRenderer ColorEnd;
+
+ public Collider2D hitbox;
+
+ public SpriteRenderer WireTip;
+
+ public sbyte WireId;
+
+ public void Start()
+ {
+ this.BaseWorldPos = base.transform.position;
+ }
+
+ public void ResetLine(Vector3 targetWorldPos, bool reset = false)
+ {
+ if (reset)
+ {
+ this.Liner.transform.localScale = new Vector3(0f, 0f, 0f);
+ this.WireTip.transform.eulerAngles = Vector3.zero;
+ this.WireTip.transform.position = base.transform.position;
+ return;
+ }
+ Vector2 vector = targetWorldPos - base.transform.position;
+ Vector2 normalized = vector.normalized;
+ Vector3 localPosition = default(Vector3);
+ localPosition = vector - normalized * 0.075f;
+ localPosition.z = -0.01f;
+ this.WireTip.transform.localPosition = localPosition;
+ float magnitude = vector.magnitude;
+ this.Liner.transform.localScale = new Vector3(magnitude, 1f, 1f);
+ this.Liner.transform.localPosition = vector / 2f;
+ this.WireTip.transform.LookAt2d(targetWorldPos);
+ this.Liner.transform.localEulerAngles = new Vector3(0f, 0f, Vector2.SignedAngle(Vector2.right, vector));
+ }
+
+ public void ConnectRight(WireNode node)
+ {
+ Vector3 position = node.transform.position;
+ this.ResetLine(position, false);
+ }
+
+ public void SetColor(Color color)
+ {
+ this.Liner.material.SetColor("_Color", color);
+ this.ColorBase.color = color;
+ this.ColorEnd.color = color;
+ }
+}