客户端rsa,冗余清理,bug修复,安卓build问题

This commit is contained in:
FloatGaming
2026-07-14 01:43:49 +08:00
parent fd22501f71
commit f8985d91d2
682 changed files with 4595 additions and 11216 deletions
@@ -11,6 +11,8 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
public static StoreOwnershipLedger Instance { get; private set; }
public event Action<int> OnOwnershipChanged;
private readonly Dictionary<int, StoreOwnershipEntry> entriesByItemId = new Dictionary<int, StoreOwnershipEntry>();
private readonly List<storeItemSO> cachedStoreItems = new List<storeItemSO>();
private bool initialized;
@@ -72,11 +74,12 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
initialized = true;
StoreOwnershipPayload payload;
bool loadedFromSave = StoreOwnershipStorage.TryLoad(out payload);
bool hasAnyRecoverableLocalState = loadedFromSave || StoreOwnershipStorage.HasAnyRecoverableState();
RebuildFromPayload(payload);
LoadStoreItems();
bool recoveredFromMirrors = false;
if (!loadedFromSave)
if (!loadedFromSave && !hasAnyRecoverableLocalState)
{
recoveredFromMirrors = SeedFromCurrentMirrorFlags();
}
@@ -149,6 +152,7 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
ApplyEntryToItem(itemSO, entry);
GlobalAchievementService.EnsureInstance().RefreshDerivedMetrics();
SaveNow();
NotifyOwnershipChanged(itemSO.itemID);
return true;
}
@@ -187,6 +191,7 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
SyncAllMirrorFlags();
GlobalAchievementService.EnsureInstance().RefreshDerivedMetrics();
SaveNow();
NotifyOwnershipChanged(itemSO.itemID);
return true;
}
@@ -212,6 +217,14 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
StoreOwnershipStorage.TrySave(CreatePayload());
}
public void ClearPersistentState()
{
InitializeIfNeeded();
entriesByItemId.Clear();
SyncAllMirrorFlags();
StoreOwnershipStorage.TrySave(CreatePayload());
}
private void RebuildFromPayload(StoreOwnershipPayload payload)
{
entriesByItemId.Clear();
@@ -770,4 +783,14 @@ public sealed class StoreOwnershipLedger : MonoBehaviour
}
#endif
}
private void NotifyOwnershipChanged(int itemId)
{
if (itemId <= 0 || OnOwnershipChanged == null)
{
return;
}
OnOwnershipChanged(itemId);
}
}