//using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace TBTK { public class TBE { #if UNITY_2018_2_OR_OLDER public static bool IsPrefabOrPrefabInstance(GameObject obj){ PrefabType type=PrefabUtility.GetPrefabType(obj); return type==PrefabType.Prefab || type==PrefabType.PrefabInstance; } public static bool IsPrefab(GameObject obj){ return obj==null ? false : PrefabUtility.GetPrefabType(obj)==PrefabType.Prefab; } #endif public static DamageTableDB damageTableDB; public static AbilityUDB uAbilityDB; public static AbilityFDB fAbilityDB; public static EffectDB effectDB; public static PerkDB perkDB; public static CollectibleDB collectibleDB; public static UnitDB unitDB; public static GUIStyle headerS; public static GUIStyle foldoutS; public static GUIStyle foldoutLS; public static GUIStyle conflictS; private static bool init=false; public static void Init(){ if(init) return; init=true; //Debug.Log(" - Init Editor - "); damageTableDB=DamageTableDB.Init(); uAbilityDB=AbilityUDB.Init(); fAbilityDB=AbilityFDB.Init(); effectDB=EffectDB.Init(); perkDB=PerkDB.Init(); collectibleDB=CollectibleDB.Init(); unitDB=UnitDB.Init(); DamageTableDB.UpdateLabel(); AbilityUDB.UpdateLabel(); AbilityFDB.UpdateLabel(); EffectDB.UpdateLabel(); PerkDB.UpdateLabel(); CollectibleDB.UpdateLabel(); UnitDB.UpdateLabel(); } private static bool initUIStyle=false; public static void InitGUIStyle(){ if(initUIStyle) return; initUIStyle=true; headerS=new GUIStyle("Label"); headerS.fontStyle=FontStyle.Bold; foldoutS=new GUIStyle("foldout"); foldoutS.fontStyle=FontStyle.Bold; foldoutS.normal.textColor = Color.black; foldoutLS=new GUIStyle("foldout"); foldoutLS.normal.textColor = Color.black; conflictS=new GUIStyle("Label"); conflictS.normal.textColor = Color.red; } public static GUIContent[] SetupContL(string[] label, string[] tooltip){ GUIContent[] contL=new GUIContent[label.Length]; for(int i=0; i list, int ID=0){ while(list.Contains(ID)) ID+=1; return ID; } public static string[] GetArmorLabel(){ return DamageTableDB.armorlb; } public static string[] GetDamageLabel(){ return DamageTableDB.damagelb; } public static void SetDirty(){ EditorUtility.SetDirty(damageTableDB); EditorUtility.SetDirty(uAbilityDB); EditorUtility.SetDirty(fAbilityDB); EditorUtility.SetDirty(effectDB); EditorUtility.SetDirty(perkDB); EditorUtility.SetDirty(collectibleDB); EditorUtility.SetDirty(unitDB); #if UNITY_2018_3_OR_NEWER for(int i=0; i