/// ---------------------------------------------
/// Ultimate Character Controller
/// Copyright (c) Opsive. All Rights Reserved.
/// https://www.opsive.com
/// ---------------------------------------------
namespace Opsive.UltimateCharacterController.Items.Actions.PerspectiveProperties
{
using UnityEngine;
///
/// Interface for an object which contains the perspective dependent variables for a ShootableWeapon.
///
public interface IShootableWeaponPerspectiveProperties
{
Transform FirePointLocation { get; set; }
Transform MuzzleFlashLocation { get; set; }
Transform ShellLocation { get; set; }
Transform SmokeLocation { get; set; }
Transform TracerLocation { get; set; }
Transform ReloadableClip { get; set; }
Transform ReloadableClipAttachment { get; set; }
Transform ReloadProjectileAttachment { get; set; }
GameObject ScopeCamera { get; set; }
///
/// Can the weapon be fired?
///
/// Should the weapon fire in the LookSource direction?
/// Is the Use ability active?
/// True if the item can be fired.
bool CanFire(bool abilityActive, bool fireInLookSourceDirection);
}
}