12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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);
- }
- }
- }
|