using UnityEngine;
|
|
#if UNITY_EDITOR
|
using System;
|
using System.IO;
|
using UnityEditor;
|
#endif
|
|
public class SoCameraSFX : ScriptableObject
|
{
|
public float zoomScale;
|
public float zoomTime;
|
//public float zoomDuration;
|
//public float zoomRecoverTime;
|
|
public Vector3 direction;
|
public float power;
|
public float interval;
|
public float duration;
|
}
|
|
|
#if UNITY_EDITOR
|
[CustomEditor(typeof(SoCameraSFX))]
|
public class SoCameraSFXEditor : Editor
|
{
|
|
[MenuItem("程序/角色相关/技能配置/摄像机控制")]
|
static void CreateSoCameraSFX()
|
{
|
SoCameraSFX _config = CreateInstance<SoCameraSFX>();
|
string _createName = string.Format(ScriptableObjectLoader.SoCameraSFX_Suffix,
|
DateTime.UtcNow.ToFileTimeUtc());
|
string _path = ResourcesPath.ResourcesOutPath + "refdata/ScriptableObject/SoCameraSFX/";
|
if (Directory.Exists(_path) == false)
|
{
|
Directory.CreateDirectory(_path);
|
}
|
_path = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
|
"refdata/ScriptableObject/SoCameraSFX/",
|
_createName,
|
".asset");
|
AssetDatabase.CreateAsset(_config, _path);
|
AssetDatabase.Refresh();
|
ProjectWindowUtil.ShowCreatedAsset(_config);
|
}
|
|
public override void OnInspectorGUI()
|
{
|
serializedObject.Update();
|
|
SoCameraSFX _target = target as SoCameraSFX;
|
|
_target.zoomScale = EditorGUILayout.FloatField("缩放系数", _target.zoomScale);
|
_target.zoomTime = EditorGUILayout.FloatField("缩放时间", _target.zoomTime);
|
//_target.zoomDuration = EditorGUILayout.FloatField("缩放保持时间", _target.zoomDuration);
|
//_target.zoomRecoverTime = EditorGUILayout.FloatField("缩放恢复时间", _target.zoomRecoverTime);
|
|
GUILayout.Space(10);
|
|
_target.direction = EditorGUILayout.Vector3Field("震动方向", _target.direction);
|
_target.power = EditorGUILayout.FloatField("震动力度", _target.power);
|
_target.interval = EditorGUILayout.FloatField("震动间隔", _target.interval);
|
_target.duration = EditorGUILayout.FloatField("震动持续时间", _target.duration);
|
|
if (GUI.changed)
|
{
|
EditorUtility.SetDirty(target);
|
serializedObject.ApplyModifiedProperties();
|
}
|
}
|
}
|
#endif
|