2025-06-17 14:02:58 +08:00
|
|
|
|
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;
|
|
|
|
|
|
}
|
2025-06-17 14:05:58 +08:00
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
EditorGUILayout.LabelField("载具名称", _vehicleConfig.Name);
|
|
|
|
|
|
}
|
2025-06-17 14:02:58 +08:00
|
|
|
|
|
|
|
|
|
|
_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();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|