迁移数据表到 Luban,移除 JsonNet、EnumUtility

This commit is contained in:
2026-09-13 14:08:14 +08:00
parent 4003b3aaba
commit de53890de6
607 changed files with 18515 additions and 3257 deletions
@@ -1,3 +1,4 @@
using System.Collections.Generic;
using SepCore.Definition;
namespace SepCore.UI
@@ -6,6 +7,6 @@ namespace SepCore.UI
{
public int RoleId;
public string RoleName;
public StatModifier[] InitialProperties;
public List<modifier> InitialProperties;
}
}
@@ -1,5 +1,6 @@
using SepCore.DataTable;
using GameFramework.DataTable;
using System.Collections.Generic;
using System.Linq;
using SepCore.Definition;
using SepCore.Procedure;
using Random = UnityEngine.Random;
@@ -7,8 +8,6 @@ namespace SepCore.UI
{
public class SelectRoleUseCase : IUIUseCase
{
private readonly IDataTable<DRRole> _roleDataTable;
private readonly IProcedureMenu _procedureMenu;
public int SelectedRoleId { get; private set; }
@@ -16,7 +15,6 @@ namespace SepCore.UI
public SelectRoleUseCase(IProcedureMenu procedureMenu)
{
_procedureMenu = procedureMenu;
_roleDataTable = GameEntry.DataTable.GetDataTable<DRRole>();
}
public SelectRoleRawData CreateModel()
@@ -38,31 +36,26 @@ namespace SepCore.UI
public bool ConfirmSelectedRole()
{
DRRole[] roles = _roleDataTable != null ? _roleDataTable.GetAllDataRows() : null;
if (roles == null || roles.Length == 0)
IReadOnlyList<RoleConfig> roles = GameEntry.Luban.GetTable<RoleConfig>();
if (roles == null || roles.Count == 0)
{
return false;
}
if (SelectedRoleId < 0 || _roleDataTable.GetDataRow(SelectedRoleId) == null)
if (SelectedRoleId <= 0 || !roles.Any(r => r.Id == SelectedRoleId))
{
int randomIndex = Random.Range(0, roles.Length);
int randomIndex = Random.Range(0, roles.Count);
SelectedRoleId = roles[randomIndex].Id;
}
bool result = SelectedRoleId >= 0;
if (result)
{
_procedureMenu.ConfirmSelectRole(SelectedRoleId);
}
return result;
_procedureMenu.ConfirmSelectRole(SelectedRoleId);
return true;
}
private SelectRoleRawData BuildModel(int selectedRoleId)
{
DRRole[] roles = _roleDataTable.GetAllDataRows();
int count = _roleDataTable.Count;
IReadOnlyList<RoleConfig> roles = GameEntry.Luban.GetTable<RoleConfig>();
int count = roles.Count;
RoleItemRawData[] roleItems = new RoleItemRawData[count];
for (int i = 0; i < count; i++)
{
@@ -73,14 +66,14 @@ namespace SepCore.UI
};
}
DRRole selectedRole = selectedRoleId > 0 ? _roleDataTable.GetDataRow(selectedRoleId) : null;
RoleConfig selectedRole = selectedRoleId > 0 ? roles.FirstOrDefault(r => r.Id == selectedRoleId) : null;
RolePropertyAreaRawData selectedRoleData = selectedRole == null
? null
: new RolePropertyAreaRawData
{
RoleId = selectedRole.Id,
RoleName = selectedRole.RoleName,
InitialProperties = selectedRole.InitialProperties
InitialProperties = selectedRole.Modifiers
};
return new SelectRoleRawData