56 lines
2.2 KiB
C#
56 lines
2.2 KiB
C#
using NUnit.Framework;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.UI.Extensions;
|
|
using XRLib.UI;
|
|
|
|
namespace XED.UI
|
|
{
|
|
public class Canvas_Component : CanvasBase
|
|
{
|
|
public UILineRenderer prf_LineRenderer;
|
|
public UILineGroupRenderer groupliner;
|
|
|
|
public void Connect(ConnectionHandlePoint p1, ConnectionHandlePoint p2)
|
|
{
|
|
groupliner = FindFirstObjectByType<UILineGroupRenderer>();
|
|
groupliner.AddPoints(p1.transform, p2.transform);
|
|
//var line = Instantiate(prf_LineRenderer, transform);
|
|
//var p1Pos = new Vector2(p1.transform.position.x + rectTransform.rect.position.x , p1.transform.position.y + rectTransform.rect.position.y);
|
|
//var p2Pos = new Vector2(p2.transform.position.x + rectTransform.rect.position.x , p2.transform.position.y + rectTransform.rect.position.y);
|
|
//line.Points = new Vector2[] { p1Pos, p2Pos };
|
|
//line.SetAllDirty();
|
|
//line.transform.SetAsFirstSibling();
|
|
}
|
|
|
|
List<(ConnectionHandlePoint, ConnectionHandlePoint)> connections = new();
|
|
List<ConnectionHandlePoint> connection = new();
|
|
internal void Connect(ConnectionHandlePoint connectionHandlePoint)
|
|
{
|
|
connection.Add(connectionHandlePoint);
|
|
connectionHandlePoint.GetComponent<Image>().color = Color.white;
|
|
|
|
if (connection.Count == 2)
|
|
{
|
|
connection[0].GetComponent<Image>().color = Color.black;
|
|
connection[1].GetComponent<Image>().color = Color.black;
|
|
if (connections.Contains((connection[0], connection[1])))
|
|
{
|
|
connections.Remove((connection[0], connection[1]));
|
|
connections.Remove((connection[1], connection[0]));
|
|
groupliner.Remove(connection[0].transform, connection[1].transform);
|
|
connection.Clear();
|
|
return;
|
|
}
|
|
|
|
connections.Add((connection[0], connection[1]));
|
|
connections.Add((connection[1], connection[0]));
|
|
Connect(connection[0], connection[1]);
|
|
connection.Clear();
|
|
}
|
|
}
|
|
}
|
|
}
|