Added NetworkManager
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user