public static void DrawTilesetFlagsMask(GUIContent label, TilesetFlagsMask mask, Tileset tileset, ref bool foldout) { float height = EditorGUIUtility.singleLineHeight + (foldout ? tileset.TilesetFlags.GetDisplayHeight() : 0); var rect = GUILayoutUtility.GetRect(0, EditorGUIUtility.currentViewWidth, height, height); DrawTilesetFlagsMask(rect, label, mask, tileset, ref foldout); }
public static void DrawTilesetFlagsMask(GUIContent label, TilesetFlagsMask mask, Tileset tileset) { float height = tileset.TilesetFlags.GetDisplayHeight(); var rect = GUILayoutUtility.GetRect(0, EditorGUIUtility.currentViewWidth, height, height); DrawTilesetFlagsMask(rect, label, mask, tileset); }
public static void DrawTilesetFlagsMask(Rect pos, GUIContent label, TilesetFlagsMask mask, Tileset tileset) { var flags = tileset.TilesetFlags; pos.height = EditorGUIUtility.singleLineHeight; for (int i = 0; i < Tileset.TILESET_FLAGS_COUNT; i++) { if (!flags[i].IsEnabled) { continue; } if (flags[i].isToggle) { mask[i] = EditorGUI.Toggle(pos, flags[i].name, mask[i] == 1) ? 1 : 0; } else { mask[i] = EditorGUI.Popup(pos, flags[i].name, mask[i], flags[i].OptionsWithUndefined); } pos.y += pos.height + EditorGUIUtility.standardVerticalSpacing; } }
public static void DrawTilesetFlagsMask(Rect pos, GUIContent label, TilesetFlagsMask mask, Tileset tileset, ref bool foldout) { // Foldout pos.height = EditorGUIUtility.singleLineHeight; foldout = EditorGUI.Foldout(pos, foldout, label); pos.y += pos.height + EditorGUIUtility.standardVerticalSpacing; // Indent pos.x += EditorGUIUtility.singleLineHeight; pos.width -= EditorGUIUtility.singleLineHeight; if (foldout) { DrawTilesetFlagsMask(pos, label, mask, tileset); } // EditorGUILayout.EndFoldoutHeaderGroup(); }