加载军团战关卡数据

main
yurui 2025-02-18 19:32:30 +08:00
parent cdc5686b5c
commit f1468a1108
7 changed files with 52 additions and 3 deletions

View File

@ -146,6 +146,14 @@ MonoBehaviour:
FilterRuleName: CollectAll
AssetTags:
UserData:
- CollectPath: Assets/Config/LegionLevels
CollectorGUID: d2598e8d5fe0e4143939dc8141e21746
CollectorType: 0
AddressRuleName: AddressByFileName
PackRuleName: PackDirectory
FilterRuleName: CollectAll
AssetTags:
UserData:
- GroupName: UI
GroupDesc:
AssetTags:

View File

@ -157,6 +157,7 @@ namespace Framework
public const string UI_CHARACTER_REGION_ICON_PATH = "Assets/Art/UI/Texture/Icon/CharacterRegion/{0}";
public const string WEAPON_SETTLE_ANIM_PATH = "Assets/Art/Animations/animVictory/";
public const string LEGION_BATTLE_LEVEL_DATA_PATH = "Assets/Config/LegionLevels/{0}.json";
}
}

View File

@ -1,8 +1,10 @@
using cfg.LegionBattleCfg;
using Cysharp.Threading.Tasks;
using Framework;
using Gameplay.Character;
using Gameplay.LegionBattle.Unit;
using Gameplay.Net;
using Gameplay.SubSystems;
using Google.Protobuf.Collections;
using NLDPB;
using PhxhSDK;
@ -32,7 +34,7 @@ namespace Gameplay.LegionBattle
/// <summary>
/// 军团战关卡数据
/// </summary>
public LegionLevelData levelData;
public LegionLevelData LevelData { get; private set; }
/// <summary>
/// 军团战地图配置数据
/// </summary>
@ -265,5 +267,22 @@ namespace Gameplay.LegionBattle
}
}
}
/// <summary>
/// 加载关卡数据
/// </summary>
/// <returns></returns>
private async UniTask LoadLevelData()
{
string levelDataPath = CommonUtils.GetLegionBattleLevelData(MapCfg.LevelData);
TextAsset textAsset = await AssetManager.Instance.LoadAssetAsync<TextAsset>(levelDataPath);
if (null== textAsset)
{
DebugUtil.LogError($"(军团战)关卡数据路径有误: {levelDataPath}");
return;
}
LegionLevelData levelData = JsonUtility.FromJson<LegionLevelData>(textAsset.text);
}
}
}

View File

@ -35,6 +35,7 @@ namespace Gameplay.LegionBattle
public async UniTask Load()
{
await LoadMap(); // 加载地图
await LoadLevelData(); // 加载关卡数据
await LoadActor(); // 加载玩家
}

View File

@ -243,6 +243,15 @@ namespace Gameplay
}
/// <summary>
/// 获取军团战关卡数据
/// </summary>
/// <returns></returns>
public static string GetLegionBattleLevelData(string dataPath)
{
return string.Format(Constants.LEGION_BATTLE_LEVEL_DATA_PATH, dataPath);
}
public static string GetVehicleHeadPath(string name)
{
return name + ".png";

View File

@ -20,14 +20,16 @@ public sealed partial class DataLegionBattleMap : Bright.Config.BeanBase
{
{ if(!_json["ID"].IsNumber) { throw new SerializationException(); } ID = _json["ID"]; }
{ if(!_json["Path"].IsString) { throw new SerializationException(); } Path = _json["Path"]; }
{ if(!_json["LevelData"].IsString) { throw new SerializationException(); } LevelData = _json["LevelData"]; }
{ if(!_json["MapData"].IsString) { throw new SerializationException(); } MapData = _json["MapData"]; }
PostInit();
}
public DataLegionBattleMap(int ID, string Path, string MapData )
public DataLegionBattleMap(int ID, string Path, string LevelData, string MapData )
{
this.ID = ID;
this.Path = Path;
this.LevelData = LevelData;
this.MapData = MapData;
PostInit();
}
@ -46,6 +48,10 @@ public sealed partial class DataLegionBattleMap : Bright.Config.BeanBase
/// </summary>
public string Path { get; private set; }
/// <summary>
/// 军团战关卡数据
/// </summary>
public string LevelData { get; private set; }
/// <summary>
/// 地图数据路径
/// </summary>
public string MapData { get; private set; }
@ -67,6 +73,7 @@ public sealed partial class DataLegionBattleMap : Bright.Config.BeanBase
return "{ "
+ "ID:" + ID + ","
+ "Path:" + Path + ","
+ "LevelData:" + LevelData + ","
+ "MapData:" + MapData + ","
+ "}";
}

View File

@ -2,21 +2,25 @@
{
"ID": 1,
"Path": "Assets/Scenes/Maps/LegionBattle/LegionBattle_1.unity",
"LevelData": "LevelData_Legion_1",
"MapData": "MapData_LegionBattle_1"
},
{
"ID": 2,
"Path": "Assets/Scenes/Maps/LegionBattle/LegionBattle_1.unity",
"LevelData": "LevelData_Legion_1",
"MapData": "MapData_LegionBattle_1"
},
{
"ID": 3,
"Path": "Assets/Scenes/Maps/LegionBattle/LegionBattle_1.unity",
"LevelData": "LevelData_Legion_1",
"MapData": "MapData_LegionBattle_1"
},
{
"ID": 4,
"Path": "Assets/Scenes/Maps/LegionBattle/LegionBattle_1.unity",
"LevelData": "LevelData_Legion_1",
"MapData": "MapData_LegionBattle_1"
}
]