浏览代码

inconsistency editor script

mbunch_kascope 1 年之前
父节点
当前提交
89feb1e844

+ 69 - 0
Assets/Editor/Fixing Scripts/FindInconsistentName.cs

@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor.SceneManagement;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+using DCGO.CardEntities;
+using Unity.EditorCoroutines.Editor;
+using System.Collections;
+using UnityEngine.Networking;
+using WebSocketSharp;
+using static UnityEngine.ParticleSystem;
+
+namespace DCGO.Tools.Repair{
+
+    [CreateAssetMenu(fileName = "CardEntity_Inconsistency", menuName = "Create Inconsistency Entity")]
+    public class InconsistentName : ScriptableObject
+    {
+        public string stringToFind;
+        public string stringToCompare;
+    }
+
+    [CustomEditor(typeof(InconsistentName))]
+    public class FindInconsistentName : Editor
+    {
+        InconsistentName _stringValue;
+        List<CEntity_Base> _entities;
+
+        public override void OnInspectorGUI()
+        {
+            _stringValue = target as InconsistentName;
+            DrawDefaultInspector();
+
+            if (GUILayout.Button("Find Inconsistencies"))
+                EditorCoroutineUtility.StartCoroutine(FindInconsistency(_stringValue), this);
+
+            if (_entities == null)
+                return;
+        }
+
+        IEnumerator FindInconsistency(InconsistentName value)
+        {
+            List<CEntity_Base> List = GetAsset.LoadAll<CEntity_Base>("Assets/CardBaseEntity/");
+            _entities = new List<CEntity_Base>();
+
+            foreach (CEntity_Base card in List)
+            {
+                List<string> traits = new List<string>();
+                traits.AddRange(card.Attribute_ENG);
+                traits.AddRange(card.Type_ENG);
+
+                foreach (string trait in card.Attribute_ENG)
+                {
+                    if (!trait.Contains(value.stringToFind))
+                        continue;
+
+                    if (!trait.Equals(value.stringToCompare))
+                        card.Attribute_ENG[card.Attribute_ENG.FindIndex(str => str == trait)] = value.stringToCompare;
+                }
+
+                EditorUtility.SetDirty(card);
+            }
+
+            yield return null;
+        }
+    }
+}
+

+ 11 - 0
Assets/Editor/Fixing Scripts/FindInconsistentName.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 70d19f60ba851394a891ce1e5706cf68
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Editor/Fixing Scripts/ScriptableObjects.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5ac2702bf8706dd4aaf175b7a9adc52d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/Editor/Fixing Scripts/ScriptableObjects/CardEntity_Inconsistency.asset

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eff488146c52e2ce72948ece46d19a3e3c346bd34d5ea595d86b450fbeee5ba6
+size 451

+ 8 - 0
Assets/Editor/Fixing Scripts/ScriptableObjects/CardEntity_Inconsistency.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7b22fb06fc15f594bb00e119768da170
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: