void MakeConnection(ElectroConnector connector) { if (Socket) ConnectElectroSocket(); if (connector.Socket) connector.ConnectElectroSocket(); GameObject connection = Instantiate(PrefabElectroConnection); connection.transform.SetParent(transform); connection.transform.localPosition = new Vector3(0, 0.22f, 0); connection.transform.LookAt(connector.transform.position + new Vector3(0, 0.22f, 0)); Connections.Add(connection); Color animationOffsetColor = new Color(0,0,Random.Range(0f,1f)); connection.GetComponent<LineRenderer>().SetColors(animationOffsetColor, animationOffsetColor); }
public void ShowConnections(List<CoupleObjects> activatedConnectors, ElectroConnector[] connectors) { List<ElectroConnector> nearestConnectors = new List<ElectroConnector>(); for (int i = 0; i < connectors.Length; ++i) { if (connectors[i] != this && Vector3.Distance(transform.position, connectors[i].transform.position)<ConnectionDistance) { nearestConnectors.Add(connectors[i]); } } for (int i = 0; i < nearestConnectors.Count; ++i) { CoupleObjects couple = new CoupleObjects(this, nearestConnectors[i]); if (!activatedConnectors.Contains(couple)) { MakeConnection(nearestConnectors[i]); activatedConnectors.Add(couple); nearestConnectors[i].ShowConnections(activatedConnectors, connectors); } } }