Files
Robii Aragon fd87a6ffd5 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

93 lines
2.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class objectToOverrideSystem : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
public bool canBeOverriden = true;
public GameObject objectToOverride;
[Space]
[Header ("Remote Events On Object Settings")]
[Space]
public bool useRemoteEventsOnObjectOnStart;
public List<string> remoteEventNameListOnObjectOnStart = new List<string> ();
[Space]
[Space]
public bool useRemoteEventsOnObjectOnEnd;
public List<string> remoteEventNameListOnObjectOnEnd = new List<string> ();
[Space]
[Header ("Remote Events On Player Settings")]
[Space]
public bool useRemoteEventsOnPlayerOnStart;
public List<string> remoteEventNameListOnPlayerOnStart = new List<string> ();
[Space]
[Space]
public bool useRemoteEventsOnPlayerOnEnd;
public List<string> remoteEventNameListOnPlayerOnEnd = new List<string> ();
GameObject currentPlayer;
public bool canBeOverridenActive ()
{
return canBeOverriden;
}
public GameObject getObjectToOverride ()
{
if (objectToOverride == null) {
objectToOverride = gameObject;
}
return objectToOverride;
}
public void setCurrentPlayer (GameObject newPlayer)
{
currentPlayer = newPlayer;
}
public void setOverrideControlExternally (bool state)
{
if (currentPlayer != null) {
playerComponentsManager mainPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
if (mainPlayerComponentsManager != null) {
overrideElementControlSystem mainOverrideElementControlSystem = mainPlayerComponentsManager.getOverrideElementControlSystem ();
if (mainOverrideElementControlSystem != null) {
if (state) {
if (!mainOverrideElementControlSystem.usingOverride) {
bool checkForExternalObjectsToDriveOrRideEnabled = mainOverrideElementControlSystem.isCheckForExternalObjectsToDriveOrRideEnabled ();
mainOverrideElementControlSystem.setCheckForExternalObjectsToDriveOrRideEnabledState (false);
mainOverrideElementControlSystem.overrideElementControl (objectToOverride);
mainOverrideElementControlSystem.setCheckForExternalObjectsToDriveOrRideEnabledState (checkForExternalObjectsToDriveOrRideEnabled);
}
} else {
if (mainOverrideElementControlSystem.usingOverride) {
mainOverrideElementControlSystem.stopCurrentOverrideControl ();
}
}
mainOverrideElementControlSystem.setInputStopOverrideControlPausedState (state);
}
}
}
}
}