using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CustomEditor(typeof(NewBieGuideScriptableObject))] public class NewBieGuideScriptableObjectEditor : Editor { //功能:1.是否功能开启,飞行目标 // 2.是否暂停主战场战斗 public override void OnInspectorGUI() { var guide = target as NewBieGuideScriptableObject; guide.stepId = EditorGUILayout.IntField("步骤ID", guide.stepId); guide.guideType = (GuideType)EditorGUILayout.EnumPopup("引导类型", guide.guideType); if (guide.guideType == GuideType.NewBie) { //点击引导 guide.UIElementPath = EditorGUILayout.TextField("点击目标路径", guide.UIElementPath); guide.clickPosition = EditorGUILayout.Vector2Field("镂空中心与目标的偏移量", guide.clickPosition); guide.clickSize = EditorGUILayout.Vector2Field("镂空半径", guide.clickSize); guide.tipPosition = EditorGUILayout.Vector2Field("提示语位置与目标的偏移量", guide.tipPosition); guide.arrowPosition = (NewBieGuideScriptableObject.ArrowPosition)EditorGUILayout.EnumPopup("引导箭头位置", guide.arrowPosition); guide.voice = EditorGUILayout.IntField("音效", guide.voice); guide.effect = EditorGUILayout.IntField("点击特效", guide.effect); guide.usherPosition = EditorGUILayout.Vector2Field("点击特效与目标的偏移量", guide.usherPosition); // guide.usherOrientation = (NewBieGuideScriptableObject.UsherOrientation)EditorGUILayout.EnumPopup("无效", guide.usherOrientation); // guide.usherAction = EditorGUILayout.IntField("无效", guide.usherAction); guide.clickAnyWhereComplete = EditorGUILayout.Toggle("点击任意位置完成引导", guide.clickAnyWhereComplete); guide.clickCompleteNoMask = EditorGUILayout.Toggle("点击任意位置完成引导(无蒙版模式)", guide.clickCompleteNoMask); } else if (guide.guideType == GuideType.Function) { //功能开启 guide.UIElementPath = EditorGUILayout.TextField("功能开启飞入终点", guide.UIElementPath); guide.clickPosition = EditorGUILayout.Vector2Field("镂空中心与目标的偏移量", guide.clickPosition); guide.clickSize = EditorGUILayout.Vector2Field("镂空半径", guide.clickSize); // guide.tipPosition = EditorGUILayout.Vector2Field("无效", guide.tipPosition); // guide.arrowPosition = (NewBieGuideScriptableObject.ArrowPosition)EditorGUILayout.EnumPopup("无效", guide.arrowPosition); guide.voice = EditorGUILayout.IntField("音效", guide.voice); // guide.effect = EditorGUILayout.IntField("无效", guide.effect); // guide.usherPosition = EditorGUILayout.Vector2Field("无效", guide.usherPosition); // guide.usherOrientation = (NewBieGuideScriptableObject.UsherOrientation)EditorGUILayout.EnumPopup("无效", guide.usherOrientation); // guide.usherAction = EditorGUILayout.IntField("无效", guide.usherAction); // guide.clickAnyWhereComplete = EditorGUILayout.Toggle("无效", guide.clickAnyWhereComplete); // guide.clickCompleteNoMask = EditorGUILayout.Toggle("无效", guide.clickCompleteNoMask); } else { //npc对话 guide.UIElementPath = EditorGUILayout.TextField("无效", guide.UIElementPath); guide.clickPosition = EditorGUILayout.Vector2Field("镂空中心与目标的偏移量", guide.clickPosition); guide.clickSize = EditorGUILayout.Vector2Field("镂空半径", guide.clickSize); // guide.tipPosition = EditorGUILayout.Vector2Field("无效", guide.tipPosition); // guide.arrowPosition = (NewBieGuideScriptableObject.ArrowPosition)EditorGUILayout.EnumPopup("无效", guide.arrowPosition); guide.voice = EditorGUILayout.IntField("音效", guide.voice); guide.effect = EditorGUILayout.IntField("引导MM外观(特效ID)", guide.effect); guide.usherOrientation = (NewBieGuideScriptableObject.UsherOrientation)EditorGUILayout.EnumPopup("引导小姐朝向", guide.usherOrientation); guide.usherAction = EditorGUILayout.IntField("引导小姐动作", guide.usherAction); guide.usherPosition = EditorGUILayout.Vector2Field("引导小姐位置", guide.usherPosition); // guide.clickAnyWhereComplete = EditorGUILayout.Toggle("无效", guide.clickAnyWhereComplete); // guide.clickCompleteNoMask = EditorGUILayout.Toggle("无效", guide.clickCompleteNoMask); } EditorGUILayout.HelpBox("引导步骤的文本内容在语言表中配置如 guide_new_1; 语言表未配置则不会显示", MessageType.Info); if (GUI.changed) { EditorUtility.SetDirty(target); serializedObject.ApplyModifiedProperties(); } } }