SanAndreasUnity/Assets/Scripts/Behaviours/Vehicles/VehicleManager.cs
2021-02-04 22:17:26 +01:00

53 lines
1.8 KiB
C#

using UnityEngine;
namespace SanAndreasUnity.Behaviours.Vehicles
{
public class VehicleManager : MonoBehaviour
{
public static VehicleManager Instance { get; private set; }
public GameObject vehiclePrefab;
public float cameraDistanceFromVehicle = 6f;
public RigidbodyInterpolation rigidbodyInterpolationOnServer = RigidbodyInterpolation.None;
public RigidbodyInterpolation rigidbodyInterpolationOnClient = RigidbodyInterpolation.None;
public bool syncLinearVelocity = true;
public bool syncAngularVelocity = true;
public Utilities.WhenOnClient whenToDisableRigidBody = Utilities.WhenOnClient.OnlyOnOtherClients;
public bool syncPedTransformWhileInVehicle = false;
public bool syncVehicleTransformUsingSyncVars = false;
public bool controlInputOnLocalPlayer = true;
public bool controlWheelsOnLocalPlayer = true;
public float vehicleSyncRate = 20;
[Range(0.1f, 3f)] public float massToHealthExponent = 1f;
public float explosionDamageRadius = 7f;
public AnimationCurve explosionDamageOverDistanceCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f);
[Range(0.1f, 3f)] public float explosionMassToDamageExponent = 1f;
public GameObject explosionLeftoverPartPrefab;
public float explosionLeftoverPartsLifetime = 20f;
public float explosionLeftoverPartsMaxDepenetrationVelocity = 15f;
public float explosionLeftoverPartsMass = 100f;
public GameObject smokePrefab;
public GameObject flamePrefab;
public GameObject explosionPrefab;
[Range(0f, 1f)] public float radioVolume = 1f;
void Awake()
{
Instance = this;
}
}
}