Added NetworkManager

This commit is contained in:
2025-12-28 19:35:18 +01:00
parent 129ef16714
commit 74223c8139
16 changed files with 1224 additions and 367 deletions

View File

@@ -2,16 +2,14 @@
namespace Marro.PacManUdon
{
using Assets.Scripts;
using System;
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
using VRC.SDK3.Components;
using VRC.Udon.Common.Interfaces;
using VRC.SDK3.Data;
using VRC.SDKBase;
public partial class GameManager : UdonSharpBehaviour
public partial class GameManager : SyncedObject
{
[Header("Static game components")]
[SerializeField] private Maze[] mazes;
@@ -26,6 +24,7 @@ namespace Marro.PacManUdon
[SerializeField] private PlayerInput playerInput;
[SerializeField] private Animator demo;
[SerializeField] private SoundManager soundManager;
[SerializeField] private NetworkManager networkManager;
[SerializeField] private GameObject recorder;
@@ -79,6 +78,7 @@ namespace Marro.PacManUdon
playerInput.Initialize(this);
soundManager.Initialize();
intermission2Pole.Initialize(this, ghostManager.Ghosts[0]);
networkManager.Initialize(Networking.IsOwner(gameObject));
HideEverything();
@@ -445,6 +445,27 @@ namespace Marro.PacManUdon
ghostManager.SetOwner(Networking.LocalPlayer);
}
public override void AppendSyncedData(byte[][] data, ref int offset)
{
data[offset++] = new byte[] { (byte)gameState };
data[offset++] = BitConverter.GetBytes(currentlyInTimeSequence);
data[offset++] = new byte[] { (byte) currentTimeSequence };
data[offset++] = BitConverter.GetBytes(timeSequenceProgress);
}
public override bool SetSyncedData(byte[] data, ref int offset)
{
SetGameState((PacManGameState)data[offset++]);
var currentlyInTimeSequence = BitConverter.ToBoolean(data, offset++);
var currentTimeSequence = (PacManTimeSequence)data[offset++];
var timeSequenceProgress = BitConverter.ToSingle(data, offset);
offset += 4;
TimeSequenceSyncWithRemote(currentlyInTimeSequence, currentTimeSequence, timeSequenceProgress);
return true;
}
public int ExtraLives
{
set