/// ---------------------------------------------
/// Ultimate Character Controller
/// Copyright (c) Opsive. All Rights Reserved.
/// https://www.opsive.com
/// ---------------------------------------------
namespace Opsive.UltimateCharacterController.Objects.CharacterAssist
{
using UnityEngine;
///
/// Interface for any object that can be driven.
///
public interface IDriveSource
{
///
/// The GameObject of the vehicle.
///
GameObject GameObject { get; }
///
/// The Transform of the vehicle.
///
Transform Transform { get; }
///
/// The location that the character drives the vehicle from.
///
Transform DriverLocation { get; }
///
/// The unique identifier of the object. This value is used within the AbilityIntData parameter of the character's animator.
///
int AnimatorID { get; }
///
/// The character has started to enter the vehicle.
///
/// The character that is entering the vehicle.
void EnterVehicle(GameObject character);
///
/// The character has entered the vehicle.
///
/// The character that entered the vehicle.
void EnteredVehicle(GameObject character);
///
/// The character has started to exit the vehicle.
///
/// The character that is exiting the vehicle.
void ExitVehicle(GameObject character);
///
/// The character has exited the vehicle.
///
/// The character that exited the vehicle.
void ExitedVehicle(GameObject character);
}
}