void OnSceneGUI() { if (showCas == null) { showCas = target as ShowCa; } if (mainData == null) { mainData = Singleton.MainData; } if (showCas.ca != null) { if (now == null) { Handles.color = Color.yellow; foreach (Area area in showCas.ca.numbers) { if (Handles.Button(mainData.AreaPosWorld(area.pos), Quaternion.identity, 0.5f, 0.5f, Handles.CylinderHandleCap)) { now = area; areaType = 0; } } Handles.color = Color.red; foreach (Area area in showCas.ca.outsides) { if (Handles.Button(mainData.AreaPosWorld(area.pos), Quaternion.identity, 0.5f, 0.5f, Handles.CylinderHandleCap)) { now = area; areaType = 1; } } } else { Color[] colors = { Color.yellow, Color.red }; Handles.color = colors[1 - areaType]; foreach (var neighbour in now.neighbours) { if (Handles.Button(mainData.AreaPosWorld(neighbour.pos), Quaternion.identity, 0.5f, 0.5f, Handles.CylinderHandleCap)) { now = neighbour; areaType = 1 - areaType; } } Handles.color = colors[areaType]; if (Handles.Button(mainData.AreaPosWorld(now.pos), Quaternion.identity, 0.5f, 0.5f, Handles.CylinderHandleCap)) { now = null; } } } }
public void visualizedData() { Singleton.DestroyAllChilds(transform); int caIndex = 0; foreach (var ca in tableBase.cas.list) { GameObject caGb = new GameObject("ConnectedArea " + caIndex.ToString()); caGb.transform.parent = transform; ShowCa sca = caGb.AddComponent <ShowCa>(); sca.ca = ca; GameObject searchGb = new GameObject("Search"); searchGb.transform.parent = caGb.transform; SearchForCaMB sfca = searchGb.AddComponent <SearchForCaMB>(); sfca.searchForCa = problemsAndResults[ca]; caIndex++; } }