Files
Main/Assets/Editor/DIY/FlyTeleport/FlyTeleportNodeEditor.cs

162 lines
7.5 KiB
C#
Raw Permalink Normal View History

2025-01-25 04:38:09 +08:00
using Thousandto.Core.PostEffect;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using Thousandto.Core.Asset;
namespace Thousandto.DIY.UniScene
{
[CustomEditor(typeof(FlyTeleportNodeScript))]
public class FlyTeleportNodeEditor : UnityEditor.Editor
{
FlyTeleportNodeScript _target = null;
void OnEnable()
{
//i like bold handle labels since I'm getting old:
_target = (FlyTeleportNodeScript)target;
}
public override void OnInspectorGUI()
{
if (_target != null)
{
EditorGUILayout.BeginVertical();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("进入动画", GUILayout.Width(80));
_target.EnterAnim = EditorGUILayout.TextField(_target.EnterAnim);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("进入播放速度", GUILayout.Width(80));
_target.EnterAnimSpeed = EditorGUILayout.FloatField(_target.EnterAnimSpeed);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("进入是否循环", GUILayout.Width(80));
_target.EnterIsLoop = EditorGUILayout.Toggle(_target.EnterIsLoop);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("离开动画", GUILayout.Width(80));
_target.LeaveAnim = EditorGUILayout.TextField(_target.LeaveAnim);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("离开播放速度", GUILayout.Width(80));
_target.LeaveAnimSpeed = EditorGUILayout.FloatField(_target.LeaveAnimSpeed);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("离开是否循环", GUILayout.Width(80));
_target.LeaveIsLoop = EditorGUILayout.Toggle(_target.LeaveIsLoop);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("等待时间", GUILayout.Width(80));
_target.WaitTime = EditorGUILayout.FloatField(_target.WaitTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("移动时间", GUILayout.Width(80));
_target.MoveTime = EditorGUILayout.FloatField(_target.MoveTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("时间变化曲线", GUILayout.Width(80));
_target.MoveCurve = EditorGUILayout.CurveField(_target.MoveCurve);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("是否是曲线分割点", GUILayout.Width(120));
_target.BreakPoint = EditorGUILayout.Toggle(_target.BreakPoint);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraYaw = EditorGUILayout.FloatField("摄像机Y轴角度", _target.CameraYaw);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraPitch = EditorGUILayout.FloatField("摄像机X轴角度", _target.CameraPitch);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraFlowDis = EditorGUILayout.FloatField("摄像机距离", _target.CameraFlowDis);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraOffsetX = EditorGUILayout.FloatField("摄像机X轴偏移量", _target.CameraOffsetX);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraOffsetY = EditorGUILayout.FloatField("摄像机Y轴偏移量", _target.CameraOffsetY);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("摄像机变换曲线", GUILayout.Width(120));
_target.CameraCurve = EditorGUILayout.CurveField(_target.CameraCurve);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraShake = EditorGUILayout.Toggle("摄像机震动", _target.CameraShake);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.ShakePower = EditorGUILayout.FloatField("震动力度", _target.ShakePower);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.ShakeTime = EditorGUILayout.FloatField("震动时间", _target.ShakeTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.ShakeType = (VFXCameraShakerType)EditorGUILayout.EnumPopup("震动类型", _target.ShakeType);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("震动曲线", GUILayout.Width(80));
_target.ShakeCurve = EditorGUILayout.CurveField(_target.ShakeCurve);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.CameraBlur = EditorGUILayout.Toggle("摄像机模糊", _target.CameraBlur);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.BlurWaitTime = EditorGUILayout.FloatField("延迟时间", _target.BlurWaitTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.BlurStart = EditorGUILayout.FloatField("开始值", _target.BlurStart);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.BlurEnd = EditorGUILayout.FloatField("结束值", _target.BlurEnd);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.BlurTime = EditorGUILayout.FloatField("模糊时间", _target.BlurTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.VfxType = (ModelTypeCode)EditorGUILayout.EnumPopup("特效类型", _target.VfxType);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.VfxID = EditorGUILayout.IntField("特效ID", _target.VfxID);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.VfxIsLoop = EditorGUILayout.Toggle("是否循环", _target.VfxIsLoop);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.VfxLifeTime = EditorGUILayout.FloatField("生存时间", _target.VfxLifeTime);
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
_target.VfxSlot = (Slot)EditorGUILayout.EnumPopup("插槽位置", _target.VfxSlot);
EditorGUILayout.EndHorizontal();
EditorGUILayout.EndVertical();
}
}
}
}