41 lines
1.1 KiB
C#
Raw Normal View History

2024-02-19 21:00:36 +03:00
using UnityEngine;
namespace Mirror.Examples.MultipleAdditiveScenes
{
public class PhysicsSimulator : MonoBehaviour
{
PhysicsScene physicsScene;
PhysicsScene2D physicsScene2D;
bool simulatePhysicsScene;
bool simulatePhysicsScene2D;
void Awake()
{
if (NetworkServer.active)
{
physicsScene = gameObject.scene.GetPhysicsScene();
simulatePhysicsScene = physicsScene.IsValid() && physicsScene != Physics.defaultPhysicsScene;
physicsScene2D = gameObject.scene.GetPhysicsScene2D();
simulatePhysicsScene2D = physicsScene2D.IsValid() && physicsScene2D != Physics2D.defaultPhysicsScene;
}
else
{
enabled = false;
}
}
void FixedUpdate()
{
if (!NetworkServer.active) return;
if (simulatePhysicsScene)
physicsScene.Simulate(Time.fixedDeltaTime);
if (simulatePhysicsScene2D)
physicsScene2D.Simulate(Time.fixedDeltaTime);
}
}
}