Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Player/remotePlayerNavmeshOverrideSystem.cs
Robii Aragon fd87a6ffd5 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

77 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class remotePlayerNavmeshOverrideSystem : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
public bool activateNavmesh;
[Space]
[Header ("Navmesh Target Settings")]
[Space]
public Transform navmeshTargetTransform;
[Space]
public bool useWaypointList;
public List<Transform> waypointList = new List<Transform> ();
[Space]
[Header ("Components")]
[Space]
public remotePlayerNavmeshOverride mainRemotePlayerNavmeshOverride;
public void setRemoteNavmeshState ()
{
setRemoteNavmeshStateExternally (activateNavmesh);
}
public void setRemoteNavmeshStateExternally (bool state)
{
if (state) {
activateRemoteNavmesh ();
} else {
disableRemoteNavmesh ();
}
}
public void activateRemoteNavmesh ()
{
if (mainRemotePlayerNavmeshOverride == null) {
mainRemotePlayerNavmeshOverride = FindObjectOfType<remotePlayerNavmeshOverride> ();
}
if (mainRemotePlayerNavmeshOverride != null) {
mainRemotePlayerNavmeshOverride.setPlayerNavMeshEnabledState (true);
if (useWaypointList) {
mainRemotePlayerNavmeshOverride.setPlayerNavMeshWaypointTargetPosition (waypointList);
} else {
mainRemotePlayerNavmeshOverride.setPlayerNavMeshTransformTargetPosition (navmeshTargetTransform);
}
}
}
public void disableRemoteNavmesh ()
{
if (mainRemotePlayerNavmeshOverride == null) {
mainRemotePlayerNavmeshOverride = FindObjectOfType<remotePlayerNavmeshOverride> ();
}
if (mainRemotePlayerNavmeshOverride != null) {
mainRemotePlayerNavmeshOverride.setPlayerNavMeshEnabledState (false);
if (useWaypointList) {
mainRemotePlayerNavmeshOverride.setPlayerNavMeshWaypointTargetPosition (null);
}
}
}
}