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(); } } }