引入 UISerializationRoot 和 Item
- 完成 MenuForm 和 SelectRoleForm 的迁移
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8e4010de30b33144fa20400058edfeba
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb6dcefdb25c4eb4e98cb364ac73a7c9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace SepCore.UI
|
||||
{
|
||||
public class RoleItemRawData
|
||||
{
|
||||
public string RoleName;
|
||||
public string IconName;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bd682bb88cf9b8c4fac0fe7002d3646b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,11 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using SepCore.Definition;
|
||||
|
||||
namespace SepCore.UI
|
||||
{
|
||||
public class RolePropertyAreaRawData
|
||||
{
|
||||
public string Name;
|
||||
public List<modifier> InitialProperties;
|
||||
}
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a582029cb4c5e5459ebe6d42335299f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace SepCore.UI
|
||||
{
|
||||
public class SelectRoleRawData
|
||||
{
|
||||
public RoleItemRawData[] RoleItems;
|
||||
public RolePropertyAreaRawData SelectedRole;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c23c1db541a47b09b8c475018758f9e
|
||||
timeCreated: 1771144321
|
||||
@@ -1,83 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using SepCore.Definition;
|
||||
using SepCore.Procedure;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace SepCore.UI
|
||||
{
|
||||
public class SelectRoleUseCase : IUIUseCase
|
||||
{
|
||||
private readonly IProcedureMenu _procedureMenu;
|
||||
|
||||
public string SelectedRoleName { get; private set; }
|
||||
|
||||
public SelectRoleUseCase(IProcedureMenu procedureMenu)
|
||||
{
|
||||
_procedureMenu = procedureMenu;
|
||||
}
|
||||
|
||||
public SelectRoleRawData CreateModel()
|
||||
{
|
||||
return BuildModel(null);
|
||||
}
|
||||
|
||||
public SelectRoleRawData SelectRole(string roleName)
|
||||
{
|
||||
SelectedRoleName = roleName;
|
||||
return BuildModel(roleName);
|
||||
}
|
||||
|
||||
public SelectRoleRawData ClearSelection()
|
||||
{
|
||||
SelectedRoleName = null;
|
||||
return BuildModel(null);
|
||||
}
|
||||
|
||||
public bool ConfirmSelectedRole()
|
||||
{
|
||||
var roles = GameEntry.Luban.GetTable<RoleConfig>();
|
||||
|
||||
if (string.IsNullOrEmpty(SelectedRoleName))
|
||||
{
|
||||
int randomIndex = Random.Range(0, roles.Count);
|
||||
SelectedRoleName = roles[randomIndex].Name;
|
||||
}
|
||||
|
||||
_procedureMenu.ConfirmSelectRole(SelectedRoleName);
|
||||
return true;
|
||||
}
|
||||
|
||||
private SelectRoleRawData BuildModel(string selectedRoleName)
|
||||
{
|
||||
IReadOnlyList<RoleConfig> roles = GameEntry.Luban.GetTable<RoleConfig>();
|
||||
int count = roles.Count;
|
||||
RoleItemRawData[] roleItems = new RoleItemRawData[count];
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
roleItems[i] = new RoleItemRawData
|
||||
{
|
||||
RoleName = roles[i].Name,
|
||||
IconName = roles[i].Sprite
|
||||
};
|
||||
}
|
||||
|
||||
RoleConfig selectedRole = string.IsNullOrEmpty(selectedRoleName)
|
||||
? null
|
||||
: roles.FirstOrDefault(r => r.Name == selectedRoleName);
|
||||
RolePropertyAreaRawData selectedRoleData = selectedRole == null
|
||||
? null
|
||||
: new RolePropertyAreaRawData
|
||||
{
|
||||
Name = selectedRole.Name,
|
||||
InitialProperties = selectedRole.Modifiers
|
||||
};
|
||||
|
||||
return new SelectRoleRawData
|
||||
{
|
||||
RoleItems = roleItems,
|
||||
SelectedRole = selectedRoleData
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aec2db2225cb4bb890eb347e73fc5890
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35c8961f073eae8479506bdec8b745f8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user