using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class DrawText : DrawShape { private RectTransform rectTransform_; private Vector3[] lineCorners_; // Start and end vertices (in absolute coordinates) private readonly List _vertices = new List(2); private void Awake() { rectTransform_ = GetComponent(); Debug.Log("DrawText awake"); lineCorners_ = new Vector3[4]; // 2 вершины будут рассчитываться, другие 2 получаться lineCorners_[1] = new Vector3(); lineCorners_[3] = new Vector3(); } public override void StartDraw(Vector2 position) { _vertices.Add(position); _vertices.Add(position); } public override void StopDraw(Vector2 position) { Image image = GetComponent(); image.enabled = false; } public override void UpdateShape(Vector2 newPosition) { _vertices[_vertices.Count - 1] = newPosition; rectTransform_.sizeDelta = new Vector2(Mathf.Abs(_vertices[0].x - _vertices[1].x), Mathf.Abs(_vertices[0].y - _vertices[1].y)); rectTransform_.transform.position = new Vector2(Mathf.Min(_vertices[0].x, _vertices[1].x), Mathf.Min(_vertices[0].y, _vertices[1].y)); } public override void Clear() { } }