void SetAngleOn(int angleID, bool canBeClicked) { AnglesSignal anglesSignal = MappingManager.Instance.uiMapping.angles[angleID]; anglesSignal.gameObject.SetActive(true); if (canBeClicked) { anglesSignal.SetOn(); } else { anglesSignal.SetLastAngles(); } }
public void OnAddAngle(VerticeAngle verticeAngle, VerticeAngle verticeAngleOther) { Vector3 pos = verticeAngle.transform.position; Vector3 pos2 = verticeAngleOther.transform.position; pos.z = pos2.z = 0; AnglesSignal newAnglesSignal = Instantiate(anglesSignal, pos, Quaternion.identity, container); DistanceSignal newDistanceSignal = Instantiate(distanceSignal, Vector3.Lerp(pos, pos2, 0.5f), Quaternion.identity, container); int totalVertices = MappingManager.Instance.verticeAngleManager.all.Count - 1; bool angleLocked = false; if (verticeAngle.id == 0 || verticeAngle.id >= totalVertices - 1) { angleLocked = true; } VerticeAngleManager.VerticeData data = MappingManager.Instance.verticeAngleManager.GetVerticeData(verticeAngle.id); newAnglesSignal.Init(verticeAngle, data); newDistanceSignal.Init(verticeAngle, data); angles.Add(newAnglesSignal); distances.Add(newDistanceSignal); if (data.angle == 0) { newAnglesSignal.gameObject.SetActive(false); } if (data.distance == 0) { newDistanceSignal.gameObject.SetActive(false); } }