add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
public class grabbedObjectState : MonoBehaviour
|
||||
{
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public bool removeComponentOnDropObject = true;
|
||||
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
|
||||
public bool insideZeroGravityRoom;
|
||||
public bool grabbed;
|
||||
|
||||
public bool carryingObjectPhysically;
|
||||
|
||||
public GameObject currentHolder;
|
||||
|
||||
[Space]
|
||||
[Header ("Event Settings")]
|
||||
[Space]
|
||||
|
||||
public bool useEventsOnGrabbedState;
|
||||
public UnityEvent eventOnGrabObject;
|
||||
public UnityEvent eventOnDropObject;
|
||||
|
||||
[Space]
|
||||
[Header ("Components")]
|
||||
[Space]
|
||||
|
||||
public zeroGravityRoomSystem currentZeroGravityRoom;
|
||||
|
||||
|
||||
public void setGrabbedState (bool state)
|
||||
{
|
||||
grabbed = state;
|
||||
|
||||
if (useEventsOnGrabbedState) {
|
||||
if (grabbed) {
|
||||
eventOnGrabObject.Invoke ();
|
||||
} else {
|
||||
eventOnDropObject.Invoke ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool isGrabbed ()
|
||||
{
|
||||
return grabbed;
|
||||
}
|
||||
|
||||
public void setCurrentHolder (GameObject current)
|
||||
{
|
||||
currentHolder = current;
|
||||
}
|
||||
|
||||
public GameObject getCurrentHolder ()
|
||||
{
|
||||
return currentHolder;
|
||||
}
|
||||
|
||||
public void setInsideZeroGravityRoomState (bool state)
|
||||
{
|
||||
insideZeroGravityRoom = state;
|
||||
}
|
||||
|
||||
public bool isInsideZeroGravityRoom ()
|
||||
{
|
||||
return insideZeroGravityRoom;
|
||||
}
|
||||
|
||||
public void setCurrentZeroGravityRoom (zeroGravityRoomSystem gravityRoom)
|
||||
{
|
||||
currentZeroGravityRoom = gravityRoom;
|
||||
}
|
||||
|
||||
public zeroGravityRoomSystem getCurrentZeroGravityRoom ()
|
||||
{
|
||||
return currentZeroGravityRoom;
|
||||
}
|
||||
|
||||
public void checkGravityRoomState ()
|
||||
{
|
||||
if (insideZeroGravityRoom) {
|
||||
currentZeroGravityRoom.setObjectInsideState (gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
public void setCarryingObjectPhysicallyState (bool state)
|
||||
{
|
||||
carryingObjectPhysically = state;
|
||||
}
|
||||
|
||||
public bool isCarryingObjectPhysically ()
|
||||
{
|
||||
return carryingObjectPhysically;
|
||||
}
|
||||
|
||||
public void removeGrabbedObjectComponent ()
|
||||
{
|
||||
if (removeComponentOnDropObject) {
|
||||
Destroy (this);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user