NLDClient-yudde/ProjectNLD/Assets/Editor/FightDebug/Impl/Debug_AddSelfVehicle.cs

78 lines
2.2 KiB
C#

using cfg.VehicleCfg;
using Cysharp.Threading.Tasks;
using Framework;
using Gameplay.Level;
using Gameplay.Net;
using UnityEditor;
using UnityEngine;
namespace FightDebug.Impl
{
public class Debug_AddSelfVehicle : BaseSubDebugPanel
{
private int _vehicleId;
private int _addCellIndex;
private DataVehicle _vehicleConfig;
public Debug_AddSelfVehicle() : base("动态添加载具")
{
}
protected override void _OnDrawUI()
{
base._OnDrawUI();
var newVehicleId = EditorGUILayout.IntField("载具ID", _vehicleId);
if (newVehicleId != _vehicleId)
{
_vehicleId = newVehicleId;
_vehicleConfig = EditorTableManager.instance.tables.VehicleConfig.GetOrDefault(_vehicleId);
}
if (_vehicleConfig == null)
{
EditorGUILayout.HelpBox("载具配置不存在", MessageType.Error);
return;
}
else
{
EditorGUILayout.LabelField("载具名称", _vehicleConfig.Name);
}
_addCellIndex = EditorGUILayout.IntField("CellIndex", _addCellIndex);
if (GUILayout.Button("添加载具"))
{
if (_vehicleConfig == null)
{
EditorUtility.DisplayDialog("错误", "载具配置不存在", "确定");
return;
}
_AddVehicle();
}
}
private void _AddVehicle()
{
if (!Application.isPlaying)
{
EditorUtility.DisplayDialog("错误", "需要先运行游戏", "确定");
return;
}
if (!LevelManager.Instance.IsInLevel)
{
EditorUtility.DisplayDialog("错误", "需要在关卡中", "确定");
return;
}
var vehicleCInfo = new VehicleCultivateData(_vehicleId);
LevelManager.Instance.CurrentLevel.ForceCreateSelfVehicle(vehicleCInfo, _addCellIndex).Forget();
}
}
}