public static LightLink BuildLink(Transform parent, string name, LightPoint p1, LightPoint p2) { GameObject pathObj = new GameObject("Line-" + name, typeof(MeshFilter), typeof(MeshRenderer)); pathObj.transform.SetParent(parent, false); MeshRenderer renderer = pathObj.GetComponent <MeshRenderer>(); renderer.sharedMaterial = SettingsManager.I.activeRoomnet.pathMaterial; LightLink lightLink = pathObj.AddComponent <LightLink>(); lightLink.point1 = p1; lightLink.point2 = p2; p1.RegisterConnected(lightLink); p2.RegisterConnected(lightLink); return(lightLink); }
public void UnregisterConnected(LightLink elem) { connected.Remove(elem); }
public void RegisterConnected(LightLink elem) { connected.Add(elem); }
public static void DestroyLink(LightLink link) { link.point1.UnregisterConnected(link); link.point2.UnregisterConnected(link); Destroy(link.gameObject); }