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

106 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class playerStealthSystem : abilityInfo
{
[Header ("Custom Settings")]
[Space]
public bool stealthModeEnabled = true;
public bool stealthModeActive;
public UnityEvent eventToActivateStealthMode;
public UnityEvent eventToDeactivateStealthMode;
public override void updateAbilityState ()
{
}
public void setStealthModeState (bool state)
{
if (!stealthModeEnabled) {
return;
}
stealthModeActive = state;
if (stealthModeActive) {
eventToActivateStealthMode.Invoke ();
} else {
eventToDeactivateStealthMode.Invoke ();
}
}
Coroutine timeLimitCoroutine;
public void stopSetStealthModeTimeLimit ()
{
if (timeLimitCoroutine != null) {
StopCoroutine (timeLimitCoroutine);
}
}
public void setStealthModeTimeLimit ()
{
stopSetStealthModeTimeLimit ();
timeLimitCoroutine = StartCoroutine (setStealthModeTimeLimitCoroutine ());
}
IEnumerator setStealthModeTimeLimitCoroutine ()
{
yield return new WaitForSeconds (timeLimit);
setStealthModeState (false);
}
public override void enableAbility ()
{
stealthModeEnabled = true;
}
public override void disableAbility ()
{
if (stealthModeActive) {
setStealthModeState (false);
}
stealthModeEnabled = false;
}
public override void deactivateAbility ()
{
if (stealthModeActive) {
setStealthModeState (false);
}
}
public override void activateSecondaryActionOnAbility ()
{
}
public override void useAbilityPressDown ()
{
if (!mainPlayerAbilitiesSystem.isPlayerCurrentlyBusy () || stealthModeActive) {
setStealthModeState (!stealthModeActive);
checkUseEventOnUseAbility ();
}
}
public override void useAbilityPressHold ()
{
}
public override void useAbilityPressUp ()
{
}
}