SanAndreasUnity/Assets/Scripts/Behaviours/PedManager.cs
2022-01-04 16:57:25 +01:00

95 lines
3 KiB
C#

using System.Collections.Generic;
using SanAndreasUnity.Behaviours.World;
using UnityEngine;
namespace SanAndreasUnity.Behaviours
{
public class PedManager : MonoBehaviour
{
public static PedManager Instance { get; private set; }
public GameObject pedPrefab;
public float pedTurnSpeed = 10f;
public bool showPedSpeedometer = true;
public LayerMask groundFindingIgnoredLayerMask = 0;
public FocusPointParameters playerPedFocusPointParameters = new FocusPointParameters(false, 0f, 3f);
public FocusPointParameters npcPedFocusPointParameters = FocusPointParameters.Default;
public float minTimeToReturnToAimState = 0.33f;
public float minTimeToReturnToNonAimStateFromAimState = 0.25f;
public float timeUntilMovementStateCanBeSwitchedToOtherMovementState = 0.166f;
public float timeUntilMovementStateCanBeEnteredFromOtherMovementState = 0.166f;
public float timeUntilAimMovementStateCanBeSwitchedToOtherAimMovementState = 0.166f;
public float timeUntilAimMovementStateCanBeEnteredFromOtherAimMovementState = 0.166f;
public float timeIntervalToUpdateUnderAimStatus = 0.25f;
public GameObject pedMouthAudioSourcePrefab;
[Header("Camera")]
public float cameraDistanceFromPed = 3f;
public float minCameraDistanceFromPed = 2f;
public float maxCameraDistanceFromPed = 30f;
public LayerMask cameraRaycastIgnoredLayerMask = 0;
[Header("Damage")]
[Range(0f, 10f)] public float pedDamageMultiplier = 1f;
public float legAndArmDamageMultiplier = 0.8f;
public float stomachAndChestDamageMultiplier = 1.0f;
public float headDamageMultiplier = 4.0f;
public float inflictedDamageMessageVelocityInScreenPerc = 0.2f;
public float inflictedDamageMessageLifetime = 1.0f;
public Color inflictedDamageMessageColor = Color.green;
[Header("Health bar")]
public float healthBarVisibleTimeAfterDamage = 3f;
public float healthBarWorldWidth = 0.5f;
public float healthBarWorldHeight = 0.1f;
public float healthBarMaxScreenHeight = 20f;
public float healthBarVerticalOffset = 0.3f;
public Color healthColor = Color.red;
public Color healthBackgroundColor = (Color.red + Color.black) * 0.5f;
[Header("Ped AI")]
public float AIStoppingDistance = 3f;
public float AIVehicleEnterDistance = 1.25f;
public float AIWeaponHearingDistance = 40f;
[Header("Net")]
public float pedSyncRate = 10;
[Header("Ragdoll")]
public GameObject ragdollPrefab;
public float ragdollMass = 100f;
public float ragdollLifetime = 30f;
public float ragdollDrag = 0.05f;
public float ragdollMaxDepenetrationVelocity = 10f;
public float ragdollDamageForce = 4f;
public float ragdollDamageForceWhenDetached = 4f;
public CollisionDetectionMode ragdollCollisionDetectionMode = CollisionDetectionMode.Discrete;
[Range(1, 60)] public float ragdollSyncRate = 20f;
public RigidbodyInterpolation ragdollInterpolationMode = RigidbodyInterpolation.Extrapolate;
void Awake ()
{
Instance = this;
}
}
}