Expanded sync

This commit is contained in:
2026-06-22 15:02:22 +02:00
parent 99556b81b1
commit 7f87a9779b
7 changed files with 330 additions and 384 deletions

View File

@@ -31,6 +31,7 @@ namespace Marro.PacManUdon
byte[] collisionMap;
byte[] pelletMap;
int[] pelletIndices;
const int mazeWidth = 32;
const int mazeHeight = 32;
@@ -53,8 +54,7 @@ namespace Marro.PacManUdon
powerPelletBlinkToggleInterval = PacManConstants.GetPowerPelletBlinkToggleInterval();
collisionMap = PacManConstants.GetMazeCollisionInfo();
SubscribeToEvent(NetworkEventType.SyncPellets);
pelletIndices = PacManConstants.GetMazePelletIndices();
Reset();
}
@@ -214,10 +214,11 @@ namespace Marro.PacManUdon
private void SetPelletsCollectedFromSync()
{
for (int i = 0; i < pellets.Length; i++)
for (byte i = 0; i < pellets.Length; i++)
{
var active = (syncedPelletsCollected[i/8] & (byte)(1 << i%8)) == 0;
pellets[i].gameObject.SetActive(active);
pelletMap[pelletIndices[i]] = i;
}
}
#endregion
@@ -267,11 +268,6 @@ namespace Marro.PacManUdon
public override void CollectSyncedData(byte[] data, ref int index, NetworkEventType eventType)
{
if (eventType != NetworkEventType.SyncPellets)
{
return;
}
data.Append((byte)PelletCollectedCount, ref index);
data.Append(syncedPelletsCollected, ref index);
@@ -280,11 +276,6 @@ namespace Marro.PacManUdon
public override bool WriteSyncedData(byte[] data, ref int index, NetworkEventType eventType)
{
if (eventType != NetworkEventType.SyncPellets)
{
return true;
}
PelletCollectedCount = data.ReadByte(ref index);
Array.Copy(data, index, syncedPelletsCollected, 0, syncedPelletsCollected.Length);
index += syncedPelletsCollected.Length;