/
GeekNerd
/
ServerModelingProject
Обзор
Документация
Войти
/
GeekNerd
/
ServerModelingProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/UIEntities/LineView.cs
48 строк
1 KB
Gorney-Alex
Init
30 май 2026, 19:05
30 май 2026, 19:05
3cdcc49
Код
Авторство
О чём код?
using System; using DataClasses; using Interfaces; using UnityEngine; using UnityEngine.UI; namespace UIEntities { public class LineView : MonoBehaviour, ILineView { private RectTransform _rectTransform; private Image _image; private float _thickness; public void Init(LineData data) { _rectTransform = GetComponent<RectTransform>(); _image = GetComponent<Image>(); gameObject.name = data.Name; _image.color = data.Color; _image.raycastTarget = false; _thickness = data.Thickness; _rectTransform.sizeDelta = new Vector2(0f, _thickness); } public void UpdateName(string newName) { if (String.IsNullOrEmpty(newName)) return; gameObject.name = newName; } public void SetPositions(Vector2 from, Vector2 to) { var dir = to - from; var length = dir.magnitude; var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg; _rectTransform.anchoredPosition = (from + to) * 0.5f; _rectTransform.sizeDelta = new Vector2(length, _thickness); _rectTransform.localRotation = Quaternion.Euler(0f, 0f, angle); } public void SetActive(bool value) => gameObject.SetActive(value); } }