namespace Sandbox;
public sealed partial class PlayerController : Component
{
///
/// Events from the PlayerController
///
public interface IEvents : ISceneEvent
{
///
/// Our eye angles are changing. Allows you to change the sensitivity, or stomp all together.
///
void OnEyeAngles( ref Angles angles ) { }
///
/// Called after we've set the camera up
///
void PostCameraSetup( CameraComponent cam ) { }
///
/// The player has just jumped
///
void OnJumped() { }
///
/// The player has landed on the ground, after falling this distance.
///
void OnLanded( float distance, Vector3 impactVelocity ) { }
///
/// Used by the Using system to find components we can interact with.
/// By default we can only interact with IPressable components.
/// Return a component if we can use it, or else return null.
///
Component GetUsableComponent( GameObject go ) { return default; }
///
/// We have started using something (use was pressed)
///
void StartPressing( Component target ) { }
///
/// We have started using something (use was pressed)
///
void StopPressing( Component target ) { }
///
/// We pressed USE but it did nothing
///
void FailPressing() { }
///
/// We have a chance to do something before input is processed
///
void PreInput() { }
}
}