- 重构 `RepoItem`,统一点击事件
- 重构 `PlayerInventoryComponent`:
    - `PlayerInventoryStateStore`:状态与库存写模型
    - `PlayerInventoryTowerAssemblyService`:炮塔组装域
    - `PlayerInventoryTowerRosterService`:编队/耐久域
    - `InventoryParticipantUtility`/`InventoryCloneUtility`/`InventorySeedUtility`:通用工具类
This commit is contained in:
SepComet
2026-03-04 22:04:51 +08:00
parent a62309e8c1
commit 9db9aeabcd
27 changed files with 1755 additions and 1665 deletions
@@ -4,9 +4,9 @@ using UnityEngine;
namespace GeometryTD.CustomEvent
{
public class RepoItemDetailRequestedEventArgs : GameEventArgs
public sealed class RepoItemClickedEventArgs : GameEventArgs
{
public static int EventId => typeof(RepoItemDetailRequestedEventArgs).GetHashCode();
public static int EventId => typeof(RepoItemClickedEventArgs).GetHashCode();
public override int Id => EventId;
@@ -14,9 +14,9 @@ namespace GeometryTD.CustomEvent
public Vector3 TargetPos { get; private set; }
public static RepoItemDetailRequestedEventArgs Create(long itemId, Vector3 targetPos)
public static RepoItemClickedEventArgs Create(long itemId, Vector3 targetPos)
{
var args = ReferencePool.Acquire<RepoItemDetailRequestedEventArgs>();
RepoItemClickedEventArgs args = ReferencePool.Acquire<RepoItemClickedEventArgs>();
args.ItemId = itemId;
args.TargetPos = targetPos;
return args;
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1438388ea5334474da123eadd2a55fc8
fileFormatVersion: 2
guid: 7a2f4fddc38d47c3bf891cc17e211f89
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 6e6a01b06c4b4a468d40356dc05e003f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,27 +0,0 @@
using GameFramework;
using GameFramework.Event;
namespace GeometryTD.CustomEvent
{
public sealed class RepoParticipantRemoveRequestedEventArgs : GameEventArgs
{
public static int EventId => typeof(RepoParticipantRemoveRequestedEventArgs).GetHashCode();
public override int Id => EventId;
public long TowerItemId { get; private set; }
public static RepoParticipantRemoveRequestedEventArgs Create(long towerItemId)
{
RepoParticipantRemoveRequestedEventArgs args =
ReferencePool.Acquire<RepoParticipantRemoveRequestedEventArgs>();
args.TowerItemId = towerItemId;
return args;
}
public override void Clear()
{
TowerItemId = 0;
}
}
}