using UnityEngine; namespace Fusion.Addons.Physics { /// /// Options for whether Unity will auto-simulate or Fusion will call Physics.Simulate(). /// Auto will make Fusion the simulation authority in all cases except Single-Peer Shared Mode. /// public enum PhysicsAuthorities { /// /// Automatically determine if Unity or Physics should be calling Physics.Simulate. /// Will make Fusion the simulation authority in all cases except Single-Peer Shared Mode. /// Auto, /// /// Physics will always be auto-simulated by Unity Physics. /// Unity, /// /// Physics.Simulate() will be called by a derived component on the Runner. /// Fusion, } /// /// Timing segment options for when Physics.Simulate() occurs. /// These enum values align with Unity's SimulationMode and SimulationMode2D enums, and have FixedUpdateNetwork added. /// public enum PhysicsTimings { /// /// Calls to Physics.Simulate() are automatically called every Unity FixedUpdate() /// FixedUpdate = SimulationMode2D.FixedUpdate, /// /// Calls to Physics.Simulate() are automatically called every Update() /// Update = SimulationMode2D.Update, /// /// Calls to Physics.Simulate() are handled by user code /// Script = SimulationMode2D.Script, /// /// Calls to Physics.Simulate() are automatically called every Unity FixedUpdateNetwork() /// FixedUpdateNetwork, } }