69 lines
1.8 KiB
C#
69 lines
1.8 KiB
C#
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
public class enableOrDisableAIOnDistanceManager : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
[Header ("Behavior Main Settings")]
|
|||
|
|
[Space]
|
|||
|
|
|
|||
|
|
public bool enableOrDisableAIOnDistanceEnabled = true;
|
|||
|
|
|
|||
|
|
public bool setActiveStateOnPlayerCameraGameObject;
|
|||
|
|
|
|||
|
|
[Space]
|
|||
|
|
[Header ("Debug")]
|
|||
|
|
[Space]
|
|||
|
|
|
|||
|
|
public bool AIEnableActive = true;
|
|||
|
|
|
|||
|
|
[Space]
|
|||
|
|
[Header ("Components")]
|
|||
|
|
[Space]
|
|||
|
|
|
|||
|
|
public playerController mainPlayerController;
|
|||
|
|
public playerCamera mainPlayerCamera;
|
|||
|
|
public AINavMesh mainAINavmesh;
|
|||
|
|
public GameObject playerCameraGameObject;
|
|||
|
|
public playerStatesManager mainPlayerStatesManager;
|
|||
|
|
|
|||
|
|
|
|||
|
|
public void enableOrDisbleAI (bool state)
|
|||
|
|
{
|
|||
|
|
if (enableOrDisableAIOnDistanceEnabled) {
|
|||
|
|
if (AIEnableActive == state) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
AIEnableActive = state;
|
|||
|
|
|
|||
|
|
if (!AIEnableActive) {
|
|||
|
|
mainAINavmesh.pauseAI (true);
|
|||
|
|
|
|||
|
|
mainPlayerStatesManager.checkPlayerStates ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
mainPlayerController.setCharacterMeshGameObjectState (AIEnableActive);
|
|||
|
|
|
|||
|
|
mainPlayerController.getGravityCenter ().gameObject.SetActive (AIEnableActive);
|
|||
|
|
|
|||
|
|
mainPlayerController.setAnimatorState (AIEnableActive);
|
|||
|
|
|
|||
|
|
if (setActiveStateOnPlayerCameraGameObject) {
|
|||
|
|
playerCameraGameObject.SetActive (AIEnableActive);
|
|||
|
|
} else {
|
|||
|
|
mainPlayerCamera.enableOrDisablePlayerCameraGameObject (AIEnableActive);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (AIEnableActive) {
|
|||
|
|
mainAINavmesh.pauseAI (false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void setEnableOrDisableAIOnDistanceEnabledState (bool state)
|
|||
|
|
{
|
|||
|
|
enableOrDisableAIOnDistanceEnabled = state;
|
|||
|
|
}
|
|||
|
|
}
|