Skip to content

Commit

Permalink
fix: move interfaces into their own files (#613)
Browse files Browse the repository at this point in the history
  • Loading branch information
uweeby committed Feb 19, 2021
1 parent 70c9f82 commit 432005b
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 56 deletions.
33 changes: 33 additions & 0 deletions Assets/Mirage/Runtime/IClientObjectManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using UnityEngine;

namespace Mirage
{
public delegate NetworkIdentity SpawnHandlerDelegate(SpawnMessage msg);

// Handles requests to unspawn objects on the client
public delegate void UnSpawnDelegate(NetworkIdentity spawned);

public interface IClientObjectManager
{
GameObject GetPrefab(Guid assetId);

void RegisterPrefab(NetworkIdentity prefab);

void RegisterPrefab(NetworkIdentity prefab, Guid newAssetId);

void RegisterPrefab(NetworkIdentity prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler);

void UnregisterPrefab(NetworkIdentity prefab);

void RegisterSpawnHandler(Guid assetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler);

void UnregisterSpawnHandler(Guid assetId);

void ClearSpawners();

void DestroyAllClientObjects();

void PrepareToSpawnSceneObjects();
}
}
11 changes: 11 additions & 0 deletions Assets/Mirage/Runtime/IClientObjectManager.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 0 additions & 30 deletions Assets/Mirage/Runtime/INetworkClient.cs
Original file line number Diff line number Diff line change
@@ -1,37 +1,7 @@
using System;
using Cysharp.Threading.Tasks;
using UnityEngine;

namespace Mirage
{
public delegate NetworkIdentity SpawnHandlerDelegate(SpawnMessage msg);

// Handles requests to unspawn objects on the client
public delegate void UnSpawnDelegate(NetworkIdentity spawned);

public interface IClientObjectManager
{
GameObject GetPrefab(Guid assetId);

void RegisterPrefab(NetworkIdentity prefab);

void RegisterPrefab(NetworkIdentity prefab, Guid newAssetId);

void RegisterPrefab(NetworkIdentity prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler);

void UnregisterPrefab(NetworkIdentity prefab);

void RegisterSpawnHandler(Guid assetId, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler);

void UnregisterSpawnHandler(Guid assetId);

void ClearSpawners();

void DestroyAllClientObjects();

void PrepareToSpawnSceneObjects();
}

public interface INetworkClient
{
void Disconnect();
Expand Down
26 changes: 0 additions & 26 deletions Assets/Mirage/Runtime/INetworkServer.cs
Original file line number Diff line number Diff line change
@@ -1,31 +1,5 @@
using System;
using UnityEngine;

namespace Mirage
{
public interface IServerObjectManager
{
bool AddPlayerForConnection(INetworkConnection conn, GameObject player);

bool AddPlayerForConnection(INetworkConnection conn, GameObject player, Guid assetId);

bool ReplacePlayerForConnection(INetworkConnection conn, NetworkClient client, GameObject player, bool keepAuthority = false);

bool ReplacePlayerForConnection(INetworkConnection conn, NetworkClient client, GameObject player, Guid assetId, bool keepAuthority = false);

void Spawn(GameObject obj, GameObject ownerPlayer);

void Spawn(GameObject obj, INetworkConnection ownerConnection = null);

void Spawn(GameObject obj, Guid assetId, INetworkConnection ownerConnection = null);

void Destroy(GameObject obj);

void UnSpawn(GameObject obj);

bool SpawnObjects();
}

public interface INetworkServer
{
void Disconnect();
Expand Down
28 changes: 28 additions & 0 deletions Assets/Mirage/Runtime/IServerObjectManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using UnityEngine;

namespace Mirage
{
public interface IServerObjectManager
{
bool AddPlayerForConnection(INetworkConnection conn, GameObject player);

bool AddPlayerForConnection(INetworkConnection conn, GameObject player, Guid assetId);

bool ReplacePlayerForConnection(INetworkConnection conn, NetworkClient client, GameObject player, bool keepAuthority = false);

bool ReplacePlayerForConnection(INetworkConnection conn, NetworkClient client, GameObject player, Guid assetId, bool keepAuthority = false);

void Spawn(GameObject obj, GameObject ownerPlayer);

void Spawn(GameObject obj, INetworkConnection ownerConnection = null);

void Spawn(GameObject obj, Guid assetId, INetworkConnection ownerConnection = null);

void Destroy(GameObject obj);

void UnSpawn(GameObject obj);

bool SpawnObjects();
}
}
11 changes: 11 additions & 0 deletions Assets/Mirage/Runtime/IServerObjectManager.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 432005b

Please sign in to comment.