Beispiel #1
0
        public override void OnGUI(float width)
        {
            base.OnGUI(width);

            for (var i = 0; i < 16; i++)
            {
                //ref var meshData = ref target.Editor_Get(i);
                using (new EditorGUILayout.HorizontalScope())
                {
                    using (new EditorGUILayout.VerticalScope())
                    {
                        using (new EditorGUILayout.HorizontalScope())
                        {
                            using (new BackgroundColorScope((i & 8) == 8? Color.white : Color.black))
                                GUILayout.Box(GUIContent.none, CustomStyles.Gray, GUILayout.Width(20f));
                            using (new BackgroundColorScope((i & 4) == 4? Color.white : Color.black))
                                GUILayout.Box(GUIContent.none, CustomStyles.Gray, GUILayout.Width(20f));
                        }
                        using (new EditorGUILayout.HorizontalScope())
                        {
                            using (new BackgroundColorScope((i & 1) == 1? Color.white : Color.black))
                                GUILayout.Box(GUIContent.none, CustomStyles.Gray, GUILayout.Width(20f));
                            using (new BackgroundColorScope((i & 2) == 2? Color.white : Color.black))
                                GUILayout.Box(GUIContent.none, CustomStyles.Gray, GUILayout.Width(20f));
                        }
                    }

                    using (new EditorGUILayout.VerticalScope())
                    {
                        var prop = SerializedObject.FindProperty(TileMeshConfig.Editor_ConfigDataPropName)
                                   .GetArrayElementAtIndex(i).FindPropertyRelative(nameof(TileMeshConfig.MeshSet.Meshes));
                        using (var check = new EditorGUI.ChangeCheckScope())
                        {
                            EditorGUILayout.PropertyField(prop);
                            if (check.changed)
                            {
                                SerializedObject.ApplyModifiedProperties();
                            }
                        }
                    }
                }
                CustomGUI.HSplitter();
                GUILayout.Space(5f);
            }
        }