|
| override void | Initialization () |
| | On init, we grab our camera and init our last non null movement.
|
| override void | GetCurrentAim () |
| | Computes the current aim direction.
|
| virtual void | TestLastMovement () |
| | Grabs the last movement stored value if necessary.
|
| virtual void | StoreLastMovement () |
| | Stores the movement value for use next frame.
|
| override void | Update () |
| | Every frame, we compute the aim direction and rotate the weapon accordingly.
|
| virtual void | FixedUpdate () |
| | At fixed update we move the target and reticle.
|
| override void | DetermineWeaponRotation () |
| | Determines the weapon rotation based on the current aim direction.
|
| override void | InitializeReticle () |
| | If a reticle has been set, instantiates the reticle and positions it.
|
| override void | MoveReticle () |
| | Every frame, moves the reticle if it's been told to follow the pointer.
|
| override void | MoveTarget () |
| | Moves the camera target.
|
| virtual void | Start () |
| | On Start(), we trigger the initialization.
|
| virtual void | LateUpdate () |
| | On LateUpdate, resets any additional angle.
|
| virtual void | RotateWeapon (Quaternion newRotation, bool forceInstant=false) |
| | Rotates the weapon, optionnally applying a lerp to it.
|
| virtual void | AimAt (Vector3 target) |
| virtual void | HideReticle () |
| | Hides (or shows) the reticle based on the DisplayReticle setting.
|
| virtual void | HideMousePointer () |
| | Hides or show the mouse pointer based on the settings.
|
| void | OnDestroy () |
| | On Destroy, we reinstate our cursor if needed.
|
| virtual void | ResetAdditionalAngle () |
| | Resets the additional angle.
|
| virtual void | AutoDetectWeaponMode () |
| virtual void | OnEnable () |
| | On enable we start listening for events.
|
| virtual void | OnDisable () |
| | On disable we stop listening for events.
|
|
| override float | CurrentAngleRelative [get] |
| | the current angle the weapon is aiming at, adjusted to compensate for the current orientation of the character
|
| virtual float | CurrentAngleAbsolute [get, protected set] |
| virtual Quaternion | CurrentRotation [get] |
| | the weapon's current rotation
|
| virtual Vector3 | CurrentAim [get] |
| | the weapon's current direction
|
| virtual Vector3 | CurrentAimAbsolute [get] |
| | the weapon's current direction, absolute (flip independent)
|
| virtual float | CurrentAngle [get, protected set] |
| | the current angle the weapon is aiming at
|
| virtual float | CurrentAngleRelative [get] |
| | the current angle the weapon is aiming at, adjusted to compensate for the current orientation of the character
|
| virtual GameObject | ReticleInstance [get] |
| | the instance of the reticle in the scene, if this weapon has one
|
| virtual Weapon | TargetWeapon [get] |
|
| enum | AimControls {
Off
, PrimaryMovement
, SecondaryMovement
, Mouse
,
Script
, SecondaryThenPrimaryMovement
, PrimaryThenSecondaryMovement
, CharacterRotateCameraDirection
} |
| | the list of possible control modes More...
|
| enum | RotationModes { Free
, Strict2Directions
, Strict4Directions
, Strict8Directions
} |
| | the list of possible rotation modes More...
|
| enum | ReticleTypes { None
, Scene
, UI
} |
| | the possible types of reticles More...
|
| AimControls | AimControl = AimControls.SecondaryMovement |
| | the aim control mode
|
| bool | AimControlActive = true |
| | if this is true, this script will be able to read input from its specified AimControl mode
|
| RotationModes | RotationMode = RotationModes.Free |
| | the rotation mode
|
| float | WeaponRotationSpeed = 1f |
| | the the speed at which the weapon reaches its new position. Set it to zero if you want movement to directly follow input
|
| bool | ClampAngle = false |
| | if this is true, aim angle will be clamped between MinimumAngle and MaximumAngle
|
| float | MinimumAngle = -180f |
| | the minimum angle at which the weapon's rotation will be clamped
|
| float | MaximumAngle = 180f |
| | the maximum angle at which the weapon's rotation will be clamped
|
| float | MinimumMagnitude = 0.2f |
| | the minimum threshold at which the weapon's rotation magnitude will be considered
|
| ReticleTypes | ReticleType = ReticleTypes.None |
| | Defines whether the reticle is placed in the scene or in the UI.
|
| GameObject | Reticle |
| | the gameobject to display as the aim's reticle/crosshair. Leave it blank if you don't want a reticle
|
| float | ReticleDistance |
| | the distance at which the reticle will be from the weapon
|
| float | ReticleHeight |
| | the height at which the reticle should position itself above the ground, when in Scene mode
|
| bool | ReticleAtMousePosition |
| | if set to true, the reticle will be placed at the mouse's position (like a pointer)
|
| bool | RotateReticle = false |
| | if set to true, the reticle will rotate on itself to reflect the weapon's rotation. If not it'll remain stable.
|
| bool | ReplaceMousePointer = true |
| | if set to true, the reticle will replace the mouse pointer
|
| float | MouseDeadZoneRadius = 0.5f |
| | the radius around the weapon rotation centre where the mouse will be ignored, to avoid glitches
|
| bool | DisplayReticle = true |
| | if set to false, the reticle won't be added and displayed
|
| bool | MoveCameraTargetTowardsReticle = false |
| | whether the camera target should be moved towards the reticle to provide a better vision of the possible target. If you don't have a reticle, it'll be moved towards your aim direction.
|
| float | CameraTargetOffset = 0.3f |
| | the offset to apply to the camera target along the transform / reticle line
|
| float | CameraTargetMaxDistance = 10f |
| | the maximum distance at which to move the camera target
|
| float | CameraTargetSpeed = 5f |
| | the speed at which the camera target should be moved
|
Add this component to a Weapon and you'll be able to aim it (meaning you'll rotate it) Supported control modes are mouse, primary movement (you aim wherever you direct your character) and secondary movement (using a secondary axis, separate from the movement).