This commit is contained in:
2025-06-16 15:14:23 +02:00
committed by devbeni
parent 60fe4620ff
commit 4ff561284f
3174 changed files with 428263 additions and 0 deletions

View File

@ -0,0 +1,65 @@
using Mirror;
using StinkySteak.NetcodeBenchmark;
using UnityEngine;
namespace StinkySteak.MirrorBenchmark
{
public class GUIGame : BaseGUIGame
{
[SerializeField] private NetworkManager _networkManagerPrefab;
private NetworkManager _networkManager;
protected override void Initialize()
{
base.Initialize();
_networkManager = Instantiate(_networkManagerPrefab);
RegisterPrefabs(new StressTestEssential[] { _test_1, _test_2, _test_3 });
}
private void RegisterPrefabs(StressTestEssential[] stressTestEssential)
{
for (int i = 0; i < stressTestEssential.Length; i++)
{
_networkManager.spawnPrefabs.Add(stressTestEssential[i].Prefab);
}
}
// MIRROR CHANGE: OnGUI instead of Canvas + TextMeshPro
protected override void OnCustomGUI()
{
if (GUILayout.Button("Start Client"))
{
_networkManager.StartClient();
}
if (GUILayout.Button("Start Server"))
{
_networkManager.StartServer();
}
}
// END MIRROR CHANGE
protected override void StressTest(StressTestEssential stressTest)
{
for (int i = 0; i < stressTest.SpawnCount; i++)
{
GameObject go = Instantiate(stressTest.Prefab);
NetworkServer.Spawn(go);
}
}
protected override void UpdateNetworkStats()
{
if (_networkManager == null) return;
if (!_networkManager.isNetworkActive) return;
if (_networkManager.mode == NetworkManagerMode.ServerOnly)
{
_textLatency = ("Latency: 0ms (Server)"); // MIRROR CHANGE: Canvas + TextMeshPro -> OnGUI
return;
}
_textLatency = ($"Latency: {NetworkTime.rtt * 1_000}ms"); // MIRROR CHANGE: Canvas + TextMeshPro -> OnGUI
}
}
}

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 89b59180da8577947a00064507b6f488
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 129321
packageName: Mirror
packageVersion: 96.0.1
assetPath: Assets/Mirror/Examples/BenchmarkStinkySteak/Scripts/GUIGame.cs
uploadId: 736421

View File

@ -0,0 +1,27 @@
using Mirror;
using StinkySteak.NetcodeBenchmark;
using UnityEngine;
namespace StinkySteak.MirrorBenchmark
{
public class SineMoveRandomBehaviour : NetworkBehaviour
{
[SerializeField] private BehaviourConfig _config;
private SinRandomMoveWrapper _wrapper;
public override void OnStartServer()
{
if (isClient) return;
_config.ApplyConfig(ref _wrapper);
_wrapper.NetworkStart(transform);
}
private void FixedUpdate()
{
if (isClient) return;
_wrapper.NetworkUpdate(transform);
}
}
}

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 1a33ff1aaf3c582459143cebb4ab7cf9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 129321
packageName: Mirror
packageVersion: 96.0.1
assetPath: Assets/Mirror/Examples/BenchmarkStinkySteak/Scripts/SineMoveRandomBehaviour.cs
uploadId: 736421

View File

@ -0,0 +1,27 @@
using Mirror;
using StinkySteak.NetcodeBenchmark;
using UnityEngine;
namespace StinkySteak.MirrorBenchmark
{
public class SineMoveYBehaviour : NetworkBehaviour
{
[SerializeField] private BehaviourConfig _config;
private SinMoveYWrapper _wrapper;
public override void OnStartServer()
{
if (isClient) return;
_config.ApplyConfig(ref _wrapper);
_wrapper.NetworkStart(transform);
}
private void FixedUpdate()
{
if (isClient) return;
_wrapper.NetworkUpdate(transform);
}
}
}

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 547d19395b603714c81fc33bfe0f37ca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 129321
packageName: Mirror
packageVersion: 96.0.1
assetPath: Assets/Mirror/Examples/BenchmarkStinkySteak/Scripts/SineMoveYBehaviour.cs
uploadId: 736421

View File

@ -0,0 +1,27 @@
using Mirror;
using StinkySteak.NetcodeBenchmark;
using UnityEngine;
namespace StinkySteak.MirrorBenchmark
{
public class WanderMoveBehaviour : NetworkBehaviour
{
[SerializeField] private BehaviourConfig _config;
private WanderMoveWrapper _wrapper;
public override void OnStartServer()
{
if (isClient) return;
_config.ApplyConfig(ref _wrapper);
_wrapper.NetworkStart(transform);
}
private void FixedUpdate()
{
if (isClient) return;
_wrapper.NetworkUpdate(transform);
}
}
}

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: c98d55e9b7394a94d97efd119d590ecf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 129321
packageName: Mirror
packageVersion: 96.0.1
assetPath: Assets/Mirror/Examples/BenchmarkStinkySteak/Scripts/WanderMoveBehaviour.cs
uploadId: 736421