plantilla base para movimiento básico
This commit is contained in:
Robii Aragon
2026-02-05 05:07:55 -08:00
parent 195b696771
commit 779f2c8b20
14443 changed files with 23840465 additions and 452 deletions

View File

@@ -0,0 +1,66 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class carryPhysicallyObjectFromInventory : objectOnInventory
{
[Header ("Main Settings")]
[Space]
public grabPhysicalObjectSystem mainGrabPhysicalObjectSystem;
public override void carryPhysicalObjectFromInventory (GameObject currentPlayer)
{
//check if player is already carrying a different physical object, to remove it properly
//check also if that object is an inventory object, to send it back to the inventory
mainGrabPhysicalObjectSystem.setCurrentPlayer (currentPlayer);
grabObjects currentGrabObjects = currentPlayer.GetComponent<grabObjects> ();
if (currentGrabObjects != null) {
bool isCarryingPhysicalObject = currentGrabObjects.isCarryingPhysicalObject ();
bool isSendGrabbedObjectToInventoryIfGrabbingNewOneEnabled = false;
GameObject currentObjectGrabbed = null;
playerComponentsManager currentPlayerComponentsManager = currentPlayer.GetComponent<playerComponentsManager> ();
if (currentPlayerComponentsManager != null) {
isSendGrabbedObjectToInventoryIfGrabbingNewOneEnabled = currentPlayerComponentsManager.getInventoryManager ().isSendGrabbedObjectToInventoryIfGrabbingNewOneEnabled ();
}
if (isSendGrabbedObjectToInventoryIfGrabbingNewOneEnabled) {
currentObjectGrabbed = currentGrabObjects.getCurrentPhysicalObjectGrabbed ();
if (currentObjectGrabbed != null) {
if (currentObjectGrabbed.GetComponentInChildren<objectOnInventory> () == null) {
currentObjectGrabbed = null;
}
}
}
if (isCarryingPhysicalObject) {
currentGrabObjects.checkIfDropObjectIfPhysical ();
currentGrabObjects.grabPhysicalObjectExternally (gameObject);
} else {
currentGrabObjects.getClosestPhysicalObjectToGrab ();
currentGrabObjects.grabObject ();
}
if (isSendGrabbedObjectToInventoryIfGrabbingNewOneEnabled) {
if (currentObjectGrabbed != null) {
pickUpObject currentPickupObject = currentObjectGrabbed.GetComponent<pickUpObject> ();
if (currentPickupObject != null) {
currentPickupObject.pickObjectAfterXWait (currentPlayer);
}
}
}
}
}
}