重构:调整目录结构和文件所属目录

This commit is contained in:
2026-06-17 10:07:23 +08:00
parent 5c3b87ab3f
commit 44f6729c1a
22 changed files with 0 additions and 26 deletions
@@ -0,0 +1,8 @@
namespace SepCore.UI
{
public class RoleItemRawData
{
public int RoleId;
public string IconName;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bd682bb88cf9b8c4fac0fe7002d3646b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,11 @@
using SepCore.Definition;
namespace SepCore.UI
{
public class RolePropertyAreaRawData
{
public int RoleId;
public string RoleName;
public StatModifier[] InitialProperties;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3a582029cb4c5e5459ebe6d42335299f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
namespace SepCore.UI
{
public class SelectRoleRawData
{
public RoleItemRawData[] RoleItems;
public RolePropertyAreaRawData SelectedRole;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5c23c1db541a47b09b8c475018758f9e
timeCreated: 1771144321
@@ -0,0 +1,93 @@
using SepCore.DataTable;
using GameFramework.DataTable;
using SepCore.Procedure;
using Random = UnityEngine.Random;
namespace SepCore.UI
{
public class SelectRoleUseCase : IUIUseCase
{
private readonly IDataTable<DRRole> _roleDataTable;
private readonly IProcedureMenu _procedureMenu;
public int SelectedRoleId { get; private set; }
public SelectRoleUseCase(IProcedureMenu procedureMenu)
{
_procedureMenu = procedureMenu;
_roleDataTable = GameEntry.DataTable.GetDataTable<DRRole>();
}
public SelectRoleRawData CreateModel()
{
return BuildModel(0);
}
public SelectRoleRawData SelectRole(int roleId)
{
SelectedRoleId = roleId;
return BuildModel(roleId);
}
public SelectRoleRawData ClearSelection()
{
SelectedRoleId = 0;
return BuildModel(0);
}
public bool ConfirmSelectedRole()
{
DRRole[] roles = _roleDataTable != null ? _roleDataTable.GetAllDataRows() : null;
if (roles == null || roles.Length == 0)
{
return false;
}
if (SelectedRoleId < 0 || _roleDataTable.GetDataRow(SelectedRoleId) == null)
{
int randomIndex = Random.Range(0, roles.Length);
SelectedRoleId = roles[randomIndex].Id;
}
bool result = SelectedRoleId >= 0;
if (result)
{
_procedureMenu.ConfirmSelectRole(SelectedRoleId);
}
return result;
}
private SelectRoleRawData BuildModel(int selectedRoleId)
{
DRRole[] roles = _roleDataTable.GetAllDataRows();
int count = _roleDataTable.Count;
RoleItemRawData[] roleItems = new RoleItemRawData[count];
for (int i = 0; i < count; i++)
{
roleItems[i] = new RoleItemRawData
{
RoleId = roles[i].Id,
IconName = roles[i].IconName
};
}
DRRole selectedRole = selectedRoleId > 0 ? _roleDataTable.GetDataRow(selectedRoleId) : null;
RolePropertyAreaRawData selectedRoleData = selectedRole == null
? null
: new RolePropertyAreaRawData
{
RoleId = selectedRole.Id,
RoleName = selectedRole.RoleName,
InitialProperties = selectedRole.InitialProperties
};
return new SelectRoleRawData
{
RoleItems = roleItems,
SelectedRole = selectedRoleData
};
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: aec2db2225cb4bb890eb347e73fc5890
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: