コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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();
        }