BITFALL/Assets/Plugins/Character Controller Pro/Demo/Scripts/CharacterDetector/JumpPad.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2023-10-04 16:50:27 +08:00
using UnityEngine;
using Lightbug.CharacterControllerPro.Core;
using Lightbug.Utilities;
namespace Lightbug.CharacterControllerPro.Demo
{
public class JumpPad : CharacterDetector
{
public bool useLocalSpace = true;
public Vector3 direction = Vector3.up;
public float jumpPadVelocity = 10f;
protected override void ProcessEnterAction(CharacterActor characterActor)
{
if (characterActor.GroundObject != gameObject)
return;
characterActor.ForceNotGrounded();
Vector3 direction = useLocalSpace ? transform.TransformDirection(this.direction) : this.direction;
characterActor.Velocity += direction * jumpPadVelocity;
}
protected override void ProcessStayAction(CharacterActor characterActor)
{
ProcessEnterAction(characterActor);
}
private void OnDrawGizmos()
{
Vector3 direction = useLocalSpace ? transform.TransformDirection(this.direction) : this.direction;
//Gizmos.DrawRay(transform.position, direction * 2f);
CustomUtilities.DrawArrowGizmo(transform.position, transform.position + direction * 2f, Color.red);
}
}
}