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,
}
}