|
| bool | Unrestricted3DAim = false |
| | if this is true, aim will be unrestricted to angles, and will aim freely in all 3 axis, useful when dealing with AI and elevation
|
| AimCenters | AimCenter = AimCenters.Owner |
| | whether aim direction should be computed from the owner, or from the weapon
|
| bool | ReticleMovesWithSlopes = false |
| | whether or not the reticle should move vertically to stay above slopes
|
| bool | ScreenPointToRay = false |
| | if this is true, the ray to ground the reticle will be cast from the screen point, otherwise it'll be cast from above the reticle
|
| LayerMask | ReticleObstacleMask = LayerManager.ObstaclesLayerMask |
| | the layers the reticle should consider as obstacles to move on
|
| float | MaximumSlopeElevation = 50f |
| | the maximum slope elevation for the reticle
|
| bool | AvoidNullAim = true |
| | if this is true, the aim system will try to compensate when aim direction is null (for example when you haven't set any primary input yet)
|
| 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
|
|
| override void | Initialization () |
| | Grabs the weapon component, initializes the angle values.
|
| virtual void | Reset () |
| override void | GetCurrentAim () |
| | Computes the current aim direction.
|
| virtual void | ComputeReticlePosition () |
| 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.
|
| virtual void | UpdatePlane () |
| override void | DetermineWeaponRotation () |
| | Determines the weapon rotation based on the current aim direction.
|
| virtual void | ComputeLookRotation () |
| virtual float | ProcessAngleClamp (float angleToClamp) |
| virtual float | NormalizeAngle (float angle) |
| override void | AimAt (Vector3 target) |
| override void | InitializeReticle () |
| | Initializes the reticle based on the settings defined in the inspector.
|
| override void | MoveReticle () |
| | Every frame, moves the reticle if it's been told to follow the pointer.
|
| override void | MoveTarget () |
| | This method defines how the character's camera target should move.
|
| 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 | 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.
|
|
| 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] |
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).