From d2ab30e7a69bfe7efda63ae75812207377917bd3 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Sun, 30 Mar 2025 18:50:27 +0000
Subject: [PATCH] Merge branch 'Flexalon-UI-Layouts' into develop

---
 Assets/Flexalon/Editor/Cloner/FlexalonClonerEditor.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/Assets/Flexalon/Editor/Cloner/FlexalonClonerEditor.cs b/Assets/Flexalon/Editor/Cloner/FlexalonClonerEditor.cs
new file mode 100644
index 0000000..71e3f8d
--- /dev/null
+++ b/Assets/Flexalon/Editor/Cloner/FlexalonClonerEditor.cs
@@ -0,0 +1,60 @@
+using UnityEditor;
+using UnityEngine;
+
+namespace Flexalon.Editor
+{
+    [CustomEditor(typeof(FlexalonCloner)), CanEditMultipleObjects]
+    public class FlexalonClonerEditor : UnityEditor.Editor
+    {
+        private SerializedProperty _objects;
+        private SerializedProperty _cloneType;
+        private SerializedProperty _count;
+        private SerializedProperty _randomSeed;
+        private SerializedProperty _dataSource;
+
+        [MenuItem("GameObject/Flexalon/Cloner")]
+        public static void Create(MenuCommand command)
+        {
+            FlexalonComponentEditor.Create<FlexalonCloner>("Cloner", command.context);
+        }
+
+        void OnEnable()
+        {
+            _objects = serializedObject.FindProperty("_objects");
+            _cloneType = serializedObject.FindProperty("_cloneType");
+            _count = serializedObject.FindProperty("_count");
+            _randomSeed = serializedObject.FindProperty("_randomSeed");
+            _dataSource = serializedObject.FindProperty("_dataSource");
+        }
+
+        public override void OnInspectorGUI()
+        {
+            serializedObject.Update();
+            EditorGUILayout.PropertyField(_objects, true);
+            EditorGUILayout.PropertyField(_cloneType);
+
+            if ((target as FlexalonCloner).DataSource == null)
+            {
+                EditorGUILayout.PropertyField(_count);
+            }
+
+            if ((target as FlexalonCloner).CloneType == FlexalonCloner.CloneTypes.Random)
+            {
+                EditorGUILayout.PropertyField(_randomSeed);
+            }
+
+            EditorGUILayout.PropertyField(_dataSource);
+
+            if (serializedObject.ApplyModifiedProperties())
+            {
+                if (Application.isPlaying)
+                {
+                    foreach (var target in targets)
+                    {
+                        (target as FlexalonCloner).MarkDirty();
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3