/// <summary> /// Displays tags available for terrains to select from and those currently chosen for this terrain /// </summary> /// <param name="t"></param> /// <returns></returns> public void DisplayAvaliableForegrounds(TerrainDefinition t) { Color c = TerrainDefinition.GetColor(t.source.foregroundColor); GUILayout.BeginHorizontal(); GUILayout.Label("Theme Color:"); Color newColor = EditorGUILayout.ColorField(c); GUILayout.EndHorizontal(); if (newColor != c) { uint color = (uint)(newColor.r * 255) << 16 | (uint)(newColor.g * 255) << 8 | (uint)(newColor.b * 255); t.source.foregroundColor = color.ToString("X"); MHDatabase.SaveDB <MHTerrain>(); } if (GUILayout.Button("Foreground selector", GUILayout.Width(150))) { SpriteSelectorWindow.OpenWindow(t); } MHSimpleCounter toRemove = null; foreach (MHSimpleCounter fgType in t.source.fgTypes) { GUILayout.BeginHorizontal(); GUI.color = Color.red; if (GUILayout.Button("x", GUILayout.Width(19))) { toRemove = fgType; } GUI.color = Color.white; GUILayout.Label(fgType.name); if (IntField(ref fgType.count)) { MHDatabase.SaveDB <MHTerrain>(); } GUILayout.EndHorizontal(); } if (toRemove != null) { t.source.fgTypes.Remove(toRemove); MHDatabase.SaveDB <MHTerrain>(); } }
static void Init() { // Get existing open window or if none, make a new one: window = (SpriteSelectorWindow)EditorWindow.GetWindow(typeof(SpriteSelectorWindow)); }