#if FISHNET_THREADED_COLLIDER_ROLLBACK
using System.Collections.Generic;
using FishNet.Object;
using GameKit.Dependencies.Utilities;
using Unity.Mathematics;
using UnityEngine;
namespace FishNet.Component.ColliderRollback
{
public class ColliderRollback : NetworkBehaviour
{
#region Serialized.
#pragma warning disable CS0414
///
/// How to configure the bounding box check.
///
[Tooltip("How to configure the bounding box check.")]
[SerializeField]
private RollbackManager.BoundingBoxType _boundingBox = RollbackManager.BoundingBoxType.Disabled;
///
/// Physics type to generate a bounding box for.
///
[Tooltip("Physics type to generate a bounding box for.")]
[SerializeField]
private RollbackPhysicsType _physicsType = RollbackPhysicsType.Physics;
///
/// Size for the bounding box. This is only used when BoundingBox is set to Manual.
///
[Tooltip("Size for the bounding box.. This is only used when BoundingBox is set to Manual.")]
[SerializeField]
private Vector3 _boundingBoxSize = new(3f, 3f, 3f);
///
/// Center for the bounding box. This is only used when BoundingBox is set to Manual.
///
[Tooltip("Center for the bounding box.. This is only used when BoundingBox is set to Manual.")]
[SerializeField]
private Vector3 _boundingBoxCenter = new(0f, 0f, 0f);
///
/// Local Rotation for the bounding box. This is only used when BoundingBox is set to Manual.
///
[Tooltip("Center for the bounding box.. This is only used when BoundingBox is set to Manual.")]
[SerializeField]
private Quaternion _boundingBoxLocalRotation = Quaternion.identity;
///
/// Objects holding colliders which can rollback.
///
[Tooltip("Objects holding colliders which can rollback.")]
[SerializeField]
private GameObject[] _colliderParents = new GameObject[0];
#pragma warning restore CS0414
#endregion
}
}
#endif