Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Condition System/GKCVehicleConditionSystem.cs

78 lines
1.5 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GKCVehicleConditionSystem : GKCConditionInfo
{
[Header ("Custom Settings")]
[Space]
public bool checkMaxSpeedToGetOn;
public float maxSpeedToGetOn;
public bool checkMaxSpeedToGetOff;
public float maxSpeedToGetOff;
public Rigidbody mainVehicleRigidbody;
public override bool checkIfConditionCompleteAndReturnResult ()
{
if (!conditionCheckEnabled) {
return false;
}
if (checkConditionPaused) {
return false;
}
bool conditionResult = checkConditionResult ();
setConditionResult (conditionResult);
return conditionResult;
}
public override void checkIfConditionComplete ()
{
if (!conditionCheckEnabled) {
return;
}
if (checkConditionPaused) {
return;
}
bool conditionResult = checkConditionResult ();
setConditionResult (conditionResult);
}
bool checkConditionResult ()
{
bool conditionResult = false;
bool currentConditionState = true;
if (checkMaxSpeedToGetOn) {
if (mainVehicleRigidbody != null) {
if (Mathf.Abs (mainVehicleRigidbody.linearVelocity.magnitude) > maxSpeedToGetOn) {
currentConditionState = false;
}
}
}
if (checkMaxSpeedToGetOff) {
if (mainVehicleRigidbody != null) {
if (Mathf.Abs (mainVehicleRigidbody.linearVelocity.magnitude) > maxSpeedToGetOff) {
currentConditionState = false;
}
}
}
conditionResult = currentConditionState;
return conditionResult;
}
}