继续
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#if UNITY_EDITOR
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using Continentis.MainGame.Card;
|
||||
@@ -12,7 +13,6 @@ namespace Continentis.MainGame.Equipment
|
||||
{
|
||||
// Fundamental
|
||||
private SerializedProperty _haveCustomClassProp;
|
||||
private SerializedProperty _classFullNameProp;
|
||||
private SerializedProperty _modNameProp;
|
||||
private SerializedProperty _classNameProp;
|
||||
private SerializedProperty _displayNameProp;
|
||||
@@ -40,7 +40,6 @@ namespace Continentis.MainGame.Equipment
|
||||
base.OnEnable();
|
||||
// --- 在OnEnable中找到所有属性 ---
|
||||
_haveCustomClassProp = serializedObject.FindProperty("haveCustomClass");
|
||||
_classFullNameProp = serializedObject.FindProperty("classFullName");
|
||||
_modNameProp = serializedObject.FindProperty("modName");
|
||||
_classNameProp = serializedObject.FindProperty("className");
|
||||
_displayNameProp = serializedObject.FindProperty("displayName");
|
||||
@@ -75,14 +74,26 @@ namespace Continentis.MainGame.Equipment
|
||||
if (_haveCustomClassProp.boolValue)
|
||||
{
|
||||
// 如果勾选,则显示class选择器 (假设基类为EquipmentBase, 命名空间为.Equipments)
|
||||
DrawTypeSelectorGUI(_classFullNameProp, "Equipment Class", typeof(EquipmentBase), "Continentis.Mods", ".Equipments");
|
||||
if (DrawTypeSelectorGUI(_classNameProp, "Equipment Class", typeof(EquipmentBase), out Type outType, "Continentis.Mods", ".Equipments"))
|
||||
{
|
||||
string className = _classNameProp.stringValue;
|
||||
string modName = outType.Namespace!.Replace("Continentis.Mods.", "").Split('.')[0];
|
||||
string displayName = "Card_" + modName + "_" + className + "_DisplayName";
|
||||
|
||||
_modNameProp.stringValue = modName;
|
||||
_displayNameProp.stringValue = displayName;
|
||||
}
|
||||
|
||||
EditorGUI.BeginDisabledGroup(true);
|
||||
}
|
||||
else
|
||||
|
||||
EditorGUILayout.PropertyField(_modNameProp);
|
||||
EditorGUILayout.PropertyField(_classNameProp);
|
||||
EditorGUILayout.PropertyField(_displayNameProp);
|
||||
|
||||
if (_haveCustomClassProp.boolValue)
|
||||
{
|
||||
// 如果不勾选,则显示手动输入字段
|
||||
EditorGUILayout.PropertyField(_modNameProp);
|
||||
EditorGUILayout.PropertyField(_classNameProp);
|
||||
EditorGUILayout.PropertyField(_displayNameProp);
|
||||
EditorGUI.EndDisabledGroup();
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(_tagsProp, true);
|
||||
|
||||
Reference in New Issue
Block a user