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

68 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class abilityPickup : pickupType
{
[Header ("Custom Pickup Settings")]
[Space]
public string abilityName;
playerAbilitiesSystem mainPlayerAbilitiesSystem;
GameObject lastCharacter;
public override bool checkIfCanBePicked ()
{
GameObject character = gameObject;
if (finderIsPlayer) {
character = player;
}
if (finderIsCharacter) {
character = npc;
}
playerComponentsManager mainPlayerComponentsManager = character.GetComponent<playerComponentsManager> ();
if (mainPlayerComponentsManager != null) {
mainPlayerAbilitiesSystem = mainPlayerComponentsManager.getPlayerAbilitiesSystem ();
if (mainPlayerAbilitiesSystem != null) {
canPickCurrentObject = true;
}
lastCharacter = character;
}
return canPickCurrentObject;
}
public override void confirmTakePickup ()
{
if (finderIsPlayer) {
mainPlayerAbilitiesSystem.enableAbilityByName (abilityName);
if (useCustomPickupMessage) {
showPickupTakenMessage (amountTaken);
} else {
showPickupTakenMessage (abilityName + " Unlocked");
}
}
if (finderIsCharacter) {
mainPlayerAbilitiesSystem.enableAbilityByName (abilityName);
}
if (lastCharacter != null) {
GKC_Utils.setUnlockStateOnSkill (lastCharacter.transform, abilityName, true);
}
mainPickupObject.playPickupSound ();
mainPickupObject.removePickupFromLevel ();
}
}