using UnityEditor;
|
using UnityEngine;
|
using System;
|
using System.IO;
|
|
public class SoFlyObjectEditor : SoConfigBaseEditor
|
{
|
|
[MenuItem("程序/角色相关/技能配置/SoFlyObject")]
|
static void CreateSoFlyObject()
|
{
|
SoFlyObject _config = CreateInstance<SoFlyObject>();
|
string _createName = string.Format(ScriptableObjectLoader.SoFlyObject_Suffix,
|
DateTime.UtcNow.ToFileTimeUtc());
|
string _path = ResourcesPath.ResourcesOutPath + "refdata/ScriptableObject/SoFlyObject/";
|
if (Directory.Exists(_path) == false)
|
{
|
Directory.CreateDirectory(_path);
|
}
|
_path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
|
"refdata/ScriptableObject/SoFlyObject/",
|
_createName,
|
".asset");
|
AssetDatabase.CreateAsset(_config, _path);
|
AssetDatabase.Refresh();
|
ProjectWindowUtil.ShowCreatedAsset(_config);
|
}
|
|
protected override void OnDrawInspectorGUI()
|
{
|
base.OnDrawInspectorGUI();
|
|
SoFlyObject _target = target as SoFlyObject;
|
GUILayout.Space(5);
|
EditorGUILayout.LabelField(string.Format("飞行物类型: {0}", _target.type), EditorStyles.largeLabel, GUILayout.Height(24));
|
_target.shootNode = EditorGUILayout.TextField("发射骨骼(留空为当前坐标点)", _target.shootNode);
|
_target.ammoEffectId = EditorGUILayout.IntField("飞行物特效ID", _target.ammoEffectId);
|
_target.blastEffectId = EditorGUILayout.IntField("爆炸特效ID", _target.blastEffectId);
|
_target.radius = EditorGUILayout.FloatField("碰撞半径", _target.radius);
|
|
_target.disppearWhenHitFinished = EditorGUILayout.Toggle("完成hit后是否消失", _target.disppearWhenHitFinished);
|
_target.hurtInterval = EditorGUILayout.IntField("伤害间隔(毫秒)", _target.hurtInterval);
|
_target.maxHitCount = EditorGUILayout.IntField("最大伤害次数", _target.maxHitCount);
|
|
}
|
}
|