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

87 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class vehicleFuelPickup : pickupType
{
public override bool checkIfCanBePicked ()
{
if (finderIsPlayer) {
canPickCurrentObject = mainPickupObject.tryToPickUpObject ();
amountTaken = mainPickupObject.getLastinventoryAmountPicked ();
}
if (finderIsVehicle) {
//check the same if the player is driving and works in the same way for any type of pickup
amountTaken = (int)applyDamage.getFuelAmountToPick (vehicle, mainPickupObject.getAmountPicked ());
if (amountTaken > 0) {
canPickCurrentObject = true;
}
if (mainPickupObject.useAmountPerUnit) {
int amountUsed = Mathf.RoundToInt (amountTaken / mainPickupObject.amountPerUnit);
mainPickupObject.amount -= amountUsed;
if (showDebugPrint) {
print ("TOTAL " + amountUsed);
}
} else {
mainPickupObject.amount -= amountTaken;
}
}
return canPickCurrentObject;
}
public override void confirmTakePickup ()
{
if (showDebugPrint) {
print ("total amount taken " + amountTaken);
}
if (finderIsPlayer) {
if (useCustomPickupMessage) {
showPickupTakenMessage (amountTaken);
} else {
string messageToUse = mainPickupObject.inventoryObjectManager.inventoryObjectInfo.Name;
if (amountTaken > 1) {
messageToUse += " x " + amountTaken;
} else {
messageToUse += " Stored";
}
showPickupTakenMessage (messageToUse);
}
mainPickupObject.playPickupSound ();
if (mainPickupObject.amount > 0 && !takeWithTrigger) {
mainPickupObject.checkEventOnRemainingAmount ();
return;
}
}
if (finderIsVehicle) {
if (showDebugPrint) {
print (amountTaken);
}
applyDamage.setFuel (amountTaken, vehicle);
if (useCustomPickupMessage) {
showPickupTakenMessage (amountTaken);
} else {
showPickupTakenMessage ("Fuel x " + amountTaken);
}
mainPickupObject.playPickupSound ();
}
mainPickupObject.removePickupFromLevel ();
}
}