diff --git a/Assets/GameMain/Scripts/Base/Event/SelectRoleForm/SelectRoleReturnEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/SelectRoleForm/SelectRoleReturnEventArgs.cs index ec866bc..c1fc5d3 100644 --- a/Assets/GameMain/Scripts/Base/Event/SelectRoleForm/SelectRoleReturnEventArgs.cs +++ b/Assets/GameMain/Scripts/Base/Event/SelectRoleForm/SelectRoleReturnEventArgs.cs @@ -3,15 +3,15 @@ using GameFramework.Event; namespace SepCore.Event { - public class MenuSelectRoleReturnEventArgs : GameEventArgs + public class SelectRoleReturnEventArgs : GameEventArgs { - public static readonly int EventId = typeof(MenuSelectRoleReturnEventArgs).GetHashCode(); + public static readonly int EventId = typeof(SelectRoleReturnEventArgs).GetHashCode(); public override int Id => EventId; - public static MenuSelectRoleReturnEventArgs Create() + public static SelectRoleReturnEventArgs Create() { - return ReferencePool.Acquire(); + return ReferencePool.Acquire(); } public override void Clear() diff --git a/Assets/GameMain/Scripts/Presentation/Common/Context.meta b/Assets/GameMain/Scripts/Presentation/Common/Context.meta deleted file mode 100644 index a1725e4..0000000 --- a/Assets/GameMain/Scripts/Presentation/Common/Context.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2b9ea0ac3213e6b4da166ad0aebc8ad4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Presentation/Common/View/RoleItem.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItem.cs similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/View/RoleItem.cs rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItem.cs diff --git a/Assets/GameMain/Scripts/Presentation/Common/View/RoleItem.cs.meta b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItem.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/View/RoleItem.cs.meta rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItem.cs.meta diff --git a/Assets/GameMain/Scripts/Presentation/Common/Context/RoleItemContext.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItemContext.cs similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/Context/RoleItemContext.cs rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItemContext.cs diff --git a/Assets/GameMain/Scripts/Presentation/Common/Context/RoleItemContext.cs.meta b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItemContext.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/Context/RoleItemContext.cs.meta rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RoleItemContext.cs.meta diff --git a/Assets/GameMain/Scripts/Presentation/Common/View/RolePropertyArea.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyArea.cs similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/View/RolePropertyArea.cs rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyArea.cs diff --git a/Assets/GameMain/Scripts/Presentation/Common/View/RolePropertyArea.cs.meta b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyArea.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/View/RolePropertyArea.cs.meta rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyArea.cs.meta diff --git a/Assets/GameMain/Scripts/Presentation/Common/Context/RolePropertyAreaContext.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyAreaContext.cs similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/Context/RolePropertyAreaContext.cs rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyAreaContext.cs diff --git a/Assets/GameMain/Scripts/Presentation/Common/Context/RolePropertyAreaContext.cs.meta b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyAreaContext.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Presentation/Common/Context/RolePropertyAreaContext.cs.meta rename to Assets/GameMain/Scripts/Presentation/Menu/SelectRole/RolePropertyAreaContext.cs.meta diff --git a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleContext.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleContext.cs index f76866d..ab4ed80 100644 --- a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleContext.cs +++ b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleContext.cs @@ -4,6 +4,6 @@ namespace SepCore.UI { public RoleItemContext[] RoleItemContexts; public RolePropertyAreaContext RolePropertyAreaContext; - public int[] RoleIds; + public bool ShowRoleProperty; } } diff --git a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleController.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleController.cs index e4d0b61..dbd7125 100644 --- a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleController.cs +++ b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleController.cs @@ -21,14 +21,14 @@ namespace SepCore.UI protected override void SubscribeCustomEvents() { - GameEntry.Event.Subscribe(MenuSelectRoleReturnEventArgs.EventId, OnSelectRoleReturn); + GameEntry.Event.Subscribe(SelectRoleReturnEventArgs.EventId, OnSelectRoleReturn); GameEntry.Event.Subscribe(SelectRoleHoverEventArgs.EventId, OnSelectRoleHover); GameEntry.Event.Subscribe(SelectRoleConfirmEventArgs.EventId, OnMenuSelectRoleConfirm); } protected override void UnsubscribeCustomEvents() { - GameEntry.Event.Unsubscribe(MenuSelectRoleReturnEventArgs.EventId, OnSelectRoleReturn); + GameEntry.Event.Unsubscribe(SelectRoleReturnEventArgs.EventId, OnSelectRoleReturn); GameEntry.Event.Unsubscribe(SelectRoleHoverEventArgs.EventId, OnSelectRoleHover); GameEntry.Event.Unsubscribe(SelectRoleConfirmEventArgs.EventId, OnMenuSelectRoleConfirm); } @@ -37,32 +37,29 @@ namespace SepCore.UI { if (rawData == null) { - Log.Error("SelectRoleFormController.BuildContext() rawData is null."); + Log.Error("SelectRoleController.BuildContext() rawData is null."); return null; } - int count = rawData.RoleIds?.Length ?? 0; + int count = rawData.RoleItems?.Length ?? 0; RoleItemContext[] roleItems = new RoleItemContext[count]; for (int i = 0; i < count; i++) { - string iconName = rawData.RoleIconNames != null && i < rawData.RoleIconNames.Length - ? rawData.RoleIconNames[i] - : null; - + RoleItemRawData itemRawData = rawData.RoleItems[i]; roleItems[i] = new RoleItemContext { - RoleId = rawData.RoleIds[i], - IconName = iconName + RoleId = itemRawData.RoleId, + IconName = itemRawData.IconName }; } RolePropertyAreaContext propertyContext = null; - if (rawData.SelectedRoleId >= 0) + if (rawData.SelectedRole != null) { propertyContext = new RolePropertyAreaContext { - RoleName = rawData.SelectedRoleName, - InitialPropertyText = ItemDescUtility.CreatePropDescription(rawData.SelectedRoleInitialProperties) + RoleName = rawData.SelectedRole.RoleName, + InitialPropertyText = ItemDescUtility.CreatePropDescription(rawData.SelectedRole.InitialProperties) ?? string.Empty }; } @@ -71,7 +68,7 @@ namespace SepCore.UI { RoleItemContexts = roleItems, RolePropertyAreaContext = propertyContext, - RoleIds = rawData.RoleIds + ShowRoleProperty = propertyContext != null }; } @@ -120,13 +117,14 @@ namespace SepCore.UI { if (Context == null) { - Log.Error("SelectRoleFormController.UpdateShowRole() Context is null."); + Log.Error("SelectRoleController.UpdateShowRole() Context is null."); return; } Context.RolePropertyAreaContext = rolePropertyAreaContext; + Context.ShowRoleProperty = rolePropertyAreaContext != null; - Form?.UpdateShowRole(rolePropertyAreaContext); + Form?.UpdateShowRole(Context.ShowRoleProperty, rolePropertyAreaContext); } private bool IsCurrentFormEventSender(object sender) @@ -151,7 +149,7 @@ namespace SepCore.UI return; } - if (e is not MenuSelectRoleReturnEventArgs) + if (e is not SelectRoleReturnEventArgs) { return; } @@ -178,7 +176,7 @@ namespace SepCore.UI { if (_useCase == null) { - Log.Error("SelectRoleFormController.OnMenuSelectRoleSelected() useCase is null."); + Log.Error("SelectRoleController.OnMenuSelectRoleSelected() useCase is null."); return; } @@ -200,7 +198,7 @@ namespace SepCore.UI if (_useCase == null) { - Log.Error("SelectRoleFormController.OnMenuSelectRoleConfirm() useCase is null."); + Log.Error("SelectRoleController.OnMenuSelectRoleConfirm() useCase is null."); return; } diff --git a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleForm.cs b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleForm.cs index f7b190a..903d188 100644 --- a/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleForm.cs +++ b/Assets/GameMain/Scripts/Presentation/Menu/SelectRole/SelectRoleForm.cs @@ -39,7 +39,7 @@ namespace SepCore.UI roleIndex++; } - UpdateShowRole(_context.RolePropertyAreaContext); + UpdateShowRole(_context.ShowRoleProperty, _context.RolePropertyAreaContext); } #region FSM @@ -76,9 +76,9 @@ namespace SepCore.UI #endregion - public void UpdateShowRole(RolePropertyAreaContext propertyAreaContext) + public void UpdateShowRole(bool showRoleProperty, RolePropertyAreaContext propertyAreaContext) { - if (propertyAreaContext == null) + if (!showRoleProperty) { _randomRoleCard.SetActive(true); _roleCard.SetActive(false); @@ -94,7 +94,7 @@ namespace SepCore.UI public void OnReturnButtonClick() { - GameEntry.Event.Fire(this, MenuSelectRoleReturnEventArgs.Create()); + GameEntry.Event.Fire(this, SelectRoleReturnEventArgs.Create()); } } } diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData.meta b/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData.meta deleted file mode 100644 index e3dbc89..0000000 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: de04e3a2f42efa84798cde2397f505db -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/UseCase.meta b/Assets/GameMain/Scripts/Runtime/UIBase/Common/UseCase.meta deleted file mode 100644 index 508a3e5..0000000 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Common/UseCase.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 476e0babdb10df1499873cc46eaaa41e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RoleItemRawData.cs b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RoleItemRawData.cs similarity index 100% rename from Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RoleItemRawData.cs rename to Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RoleItemRawData.cs diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RoleItemRawData.cs.meta b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RoleItemRawData.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RoleItemRawData.cs.meta rename to Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RoleItemRawData.cs.meta diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RolePropertyAreaRawData.cs b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RolePropertyAreaRawData.cs similarity index 51% rename from Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RolePropertyAreaRawData.cs rename to Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RolePropertyAreaRawData.cs index 78bb9e4..5efd032 100644 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RolePropertyAreaRawData.cs +++ b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RolePropertyAreaRawData.cs @@ -1,8 +1,11 @@ +using SepCore.Definition; + namespace SepCore.UI { public class RolePropertyAreaRawData { + public int RoleId; public string RoleName; - public string InitialPropertyText; + public StatModifier[] InitialProperties; } } diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RolePropertyAreaRawData.cs.meta b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RolePropertyAreaRawData.cs.meta similarity index 100% rename from Assets/GameMain/Scripts/Runtime/UIBase/Common/RawData/RolePropertyAreaRawData.cs.meta rename to Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/RolePropertyAreaRawData.cs.meta diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleRawData.cs b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleRawData.cs index bb4d6e9..fe60e49 100644 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleRawData.cs +++ b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleRawData.cs @@ -1,13 +1,8 @@ -using SepCore.Definition; - namespace SepCore.UI { public class SelectRoleRawData { - public int[] RoleIds; - public string[] RoleIconNames; - public int SelectedRoleId; - public string SelectedRoleName; - public StatModifier[] SelectedRoleInitialProperties; + public RoleItemRawData[] RoleItems; + public RolePropertyAreaRawData SelectedRole; } } diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleUseCase.cs b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleUseCase.cs index 24c6f39..cb11c56 100644 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleUseCase.cs +++ b/Assets/GameMain/Scripts/Runtime/UIBase/Menu/SelectRoleForm/SelectRoleUseCase.cs @@ -57,22 +57,30 @@ namespace SepCore.UI { DRRole[] roles = _roleDataTable.GetAllDataRows(); int count = _roleDataTable.Count; - int[] roleIds = new int[count]; - string[] iconNames = new string[count]; + RoleItemRawData[] roleItems = new RoleItemRawData[count]; for (int i = 0; i < count; i++) { - roleIds[i] = roles[i].Id; - iconNames[i] = roles[i].IconName; + 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 { - RoleIds = roleIds, - RoleIconNames = iconNames, - SelectedRoleId = selectedRole?.Id ?? -1, - SelectedRoleName = selectedRole?.RoleName, - SelectedRoleInitialProperties = selectedRole?.InitialProperties + RoleItems = roleItems, + SelectedRole = selectedRoleData }; } }