//добавить новый прямоугольник в заданную точку void Add(Vector3 pos) { Rectangle rectangle = null; if (LoadPrefab.LoadUIPrefab(ref rectangle, _rectanglePrefab, null, parentRectangle)) { rectangle.transform.position = pos; rectangle.Init(this); rectangle.RemoveEvent += Remove; _rectangles.Add(rectangle); } }
void Link(Rectangle rectangle) { //проверим что такой связи еще нет. если есть ее требуется удалить for (int i = 0; i < listLine.Count; i++) { if (rectangle == listLine[i].rectangle) { listLine[i].line.Remove(); listLine.Remove(listLine[i]); rectangle.lineController.Remove(thisRectangle); return; } } //создаем Line line = null; if (LoadPrefab.LoadUIPrefab(ref line, _linePrefab, null, thisRectangle.game.parentLine)) { line.SetPosition(thisRectangle.transformOverride.position, rectangle.transformOverride.position, thisRectangle.game.canvas.localScale.x); listLine.Add(new ConformityLine(rectangle, line)); rectangle.lineController.listLine.Add(new ConformityLine(thisRectangle, line)); } }