/// --------------------------------------------- /// 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); } }