|
Corgi Engine v9.4
|
This base class, meant to be extended (see ProjectileWeapon.cs for an example of that) handles rate of fire (rate of use actually), and ammo reloading. More...
Public Types | |
| enum | TriggerModes { SemiAuto , Auto } |
| the possible use modes for the trigger More... | |
| enum | WeaponStates { WeaponIdle , WeaponStart , WeaponDelayBeforeUse , WeaponUse , WeaponDelayBetweenUses , WeaponStop , WeaponReloadNeeded , WeaponReloadStart , WeaponReload , WeaponReloadStop , WeaponInterrupted , WeaponInCooldown } |
| the possible states the weapon can be in More... | |
Public Member Functions | |
| virtual void | Initialization () |
| Initialize this weapon. | |
| virtual void | InitializeComboWeapons () |
| Initializes the combo comp if found. | |
| virtual void | SetOwner (Character newOwner, CharacterHandleWeapon handleWeapon) |
| Sets the weapon's owner. | |
| virtual void | WeaponInputStart () |
| Called by input, turns the weapon on. | |
| virtual void | WeaponInputReleased () |
| Describes what happens when the weapon's input gets released. | |
| virtual void | WeaponInputStop () |
| Called by input, turns the weapon off if in auto mode. | |
| virtual void | TurnWeaponOn () |
| Describes what happens when the weapon starts. | |
| virtual void | TurnWeaponOff () |
| Turns the weapon off. | |
| virtual void | Interrupt () |
| Call this method to interrupt the weapon. | |
| virtual bool | WeaponInCooldown () |
| virtual void | SetCooldownStartAt () |
| virtual void | ResetCooldown () |
| Lets you reset the cooldown of the weapon. | |
| virtual IEnumerator | ShootRequestCo () |
| Determines whether or not the weapon can fire. | |
| virtual void | InitiateReloadWeapon () |
| virtual void | FlipWeapon () |
| Flips the weapon. | |
| virtual void | FlipWeaponModel () |
| Flips the weapon model. | |
| virtual IEnumerator | WeaponDestruction () |
| Destroys the weapon. | |
| virtual void | ApplyRecoil (bool shouldApplyRecoil, WeaponRecoilProperties properties) |
| virtual void | InitializeAnimatorParameters () |
| Adds required animator parameters to the animator parameters list if they exist. | |
| virtual void | UpdateAnimator () |
| Override this to send parameters to the character's animator. This is called once per cycle, by the Character class, after Early, normal and Late process(). | |
| virtual void | ResetComboAnimatorParameter () |
| virtual void | ResetAnimatorParameters () |
| virtual void | WeaponHit () |
| virtual void | WeaponHitDamageable () |
| virtual void | WeaponHitNonDamageable () |
| virtual void | WeaponMiss () |
| virtual void | WeaponKill () |
Public Attributes | |
| TriggerModes | TriggerMode = TriggerModes.Auto |
| is this weapon on semi or full auto ? | |
| bool | Interruptable = false |
| whether or not this weapon can be interrupted | |
| bool | InitializeOnStart = false |
| If this is true, the weapon will initialize itself on start, otherwise it'll have to be init manually, usually by the CharacterHandleWeapon class. | |
| float | DelayBeforeUse = 0f |
| the delay before use, that will be applied for every shot | |
| bool | DelayBeforeUseReleaseInterruption = true |
| whether or not the delay before used can be interrupted by releasing the shoot button (if true, releasing the button will cancel the delayed shot) | |
| float | TimeBetweenUses = 1f |
| the time (in seconds) between two shots | |
| bool | TimeBetweenUsesReleaseInterruption = true |
| whether or not the time between uses can be interrupted by releasing the shoot button (if true, releasing the button will cancel the time between uses) | |
| float | CooldownDuration = 0f |
| a duration, in seconds, at the end of the weapon's life cycle and before going back to Idle | |
| bool | UseBurstMode = false |
| if this is true, the weapon will activate repeatedly for every shoot request | |
| int | BurstLength = 3 |
| the amount of 'shots' in a burst sequence | |
| float | BurstTimeBetweenShots = 0.1f |
| the time between shots in a burst sequence (in seconds) | |
| bool | MagazineBased = false |
| whether or not the weapon is magazine based. If it's not, it'll just take its ammo inside a global pool | |
| int | MagazineSize = 30 |
| the size of the magazine | |
| bool | AutoReload |
| if this is true, pressing the fire button when a reload is needed will reload the weapon. Otherwise you'll need to press the reload button | |
| float | ReloadTime = 2f |
| the time it takes to reload the weapon | |
| int | AmmoConsumedPerShot = 1 |
| the amount of ammo consumed everytime the weapon fires | |
| bool | AutoDestroyWhenEmpty |
| if this is set to true, the weapon will auto destroy when there's no ammo left | |
| float | AutoDestroyWhenEmptyDelay = 1f |
| the delay (in seconds) before weapon destruction if empty | |
| int | CurrentAmmoLoaded = 0 |
| the current amount of ammo loaded inside the weapon | |
| Vector3 | WeaponAttachmentOffset = Vector3.zero |
| an offset that will be applied to the weapon once attached to the center of the WeaponAttachment transform. | |
| bool | FlipWeaponOnCharacterFlip = true |
| should that weapon be flipped when the character flips ? | |
| Vector3 | FlipValue = new Vector3(-1,1,1) |
| the FlipValue will be used to multiply the model's transform's localscale on flip. Usually it's -1,1,1, but feel free to change it to suit your model's specs | |
| Transform | LeftHandHandle |
| the transform to which the character's left hand should be attached to | |
| Transform | RightHandHandle |
| the transform to which the character's right hand should be attached to | |
| bool | ModifyMovementWhileEquipped = false |
| if this is true, a multiplier will be applied to movement while the weapon is equipped | |
| float | PermanentMovementMultiplier = 0f |
| the multiplier to apply to movement while equipped | |
| bool | ModifyMovementWhileAttacking = false |
| if this is true, a multiplier will be applied to movement while the weapon is active | |
| float | MovementMultiplier = 0f |
| the multiplier to apply to movement while attacking | |
| bool | AlwaysResetMultiplierToInitial = true |
| if this is true, movement will always be reset to initial speed after a multiplier stops being applied | |
| bool | PreventHorizontalGroundMovementWhileInUse = false |
| if this is true all movement will be prevented (even flip) while the weapon is active | |
| bool | PreventHorizontalAirMovementWhileInUse = false |
| if this is true all horizontal air movement will be prevented (even flip) while the weapon is active | |
| bool | SetForceWhileInUse = false |
| whether or not to apply a force when the weapon is in use | |
| Vector2 | ForceWhileInUse = Vector2.zero |
| the force to apply when the weapon is in use, if SetForceWhileInUse is true | |
| bool | DisableGravityWhileInUse = false |
| whether or not to disable gravity while the weapon is in use | |
| bool | PreventFlipWhileInUse = false |
| whether or not to disable flip while the weapon is in use | |
| List< Animator > | Animators |
| the other animators (other than the Character's) that you want to update every time this weapon gets used | |
| bool | MirrorCharacterAnimatorParameters = false |
| if this is true, the weapon's animator(s) will mirror the animation parameter of the owner character (that way your weapon's animator will be able to "know" if the character is walking, jumping, etc) | |
| string | EquippedAnimationParameter |
| string | IdleAnimationParameter |
| the name of the weapon's idle animation parameter : this will be true all the time except when the weapon is being used | |
| string | StartAnimationParameter |
| the name of the weapon's start animation parameter : true at the frame where the weapon starts being used | |
| string | DelayBeforeUseAnimationParameter |
| the name of the weapon's delay before use animation parameter : true when the weapon has been activated but hasn't been used yet | |
| string | SingleUseAnimationParameter |
| the name of the weapon's single use animation parameter : true at each frame the weapon activates (shoots) | |
| string | UseAnimationParameter |
| the name of the weapon's in use animation parameter : true at each frame the weapon has started firing but hasn't stopped yet | |
| string | DelayBetweenUsesAnimationParameter |
| the name of the weapon's delay between each use animation parameter : true when the weapon is in use | |
| string | InCooldownAnimationParameter |
| the name of the weapon's in cooldown animation parameter : true when the weapon is in cooldown | |
| string | StopAnimationParameter |
| the name of the weapon stop animation parameter : true after a shot and before the next one or the weapon's stop | |
| string | ReloadStartAnimationParameter |
| the name of the weapon reload start animation parameter | |
| string | ReloadAnimationParameter |
| the name of the weapon reload animation parameter | |
| string | ReloadStopAnimationParameter |
| the name of the weapon reload end animation parameter | |
| string | WeaponAngleAnimationParameter |
| the name of the weapon's angle animation parameter | |
| string | WeaponAngleRelativeAnimationParameter |
| the name of the weapon's angle animation parameter, adjusted so it's always relative to the direction the character is currently facing | |
| MMFeedbacks | WeaponStartMMFeedback |
| the feedback to play when the weapon starts being used | |
| MMFeedbacks | WeaponUsedMMFeedback |
| the feedback to play while the weapon is in use | |
| MMFeedbacks | WeaponStopMMFeedback |
| the feedback to play when the weapon stops being used | |
| MMFeedbacks | WeaponReloadMMFeedback |
| the feedback to play when the weapon gets reloaded | |
| MMFeedbacks | WeaponReloadNeededMMFeedback |
| the feedback to play when the weapon gets reloaded | |
| MMFeedbacks | WeaponOnHitFeedback |
| A MMFeedback to play when the weapon hits anything (damageable or not) | |
| MMFeedbacks | WeaponOnMissFeedback |
| A MMFeedback to play when the weapon misses (what constitutes a miss is defined per Weapon subclass) | |
| MMFeedbacks | WeaponOnHitDamageableFeedback |
| A MMFeedback to play when the weapon hits a damageable. | |
| MMFeedbacks | WeaponOnHitNonDamageableFeedback |
| A MMFeedback to play when the weapon hits a non damageable object. | |
| MMFeedbacks | WeaponOnKillFeedback |
| A MMFeedback to play when the weapon kills something. | |
| bool | ApplyRecoilOnUse = false |
| Whether or not to apply recoil to the Weapon owner every time this weapon gets used, regardless of the outcome. | |
| WeaponRecoilProperties | RecoilOnUseProperties |
| The recoil to apply every time this weapon gets used. | |
| bool | ApplyRecoilOnHitDamageable = false |
| Whether or not to apply recoil to the Weapon owner every time this weapon hits a damageable object (an object with a Health component, basically) | |
| WeaponRecoilProperties | RecoilOnHitDamageableProperties |
| the recoil to apply when this weapon hits a damageable | |
| bool | ApplyRecoilOnHitNonDamageable = false |
| Whether or not to apply recoil to the Weapon owner every time this weapon hits a non damageable object (a platform, prop, etc) | |
| WeaponRecoilProperties | RecoilOnHitNonDamageableProperties |
| the recoil to apply when this weapon hits a non damageable | |
| bool | ApplyRecoilOnMiss = false |
| Whether or not to apply recoil to the Weapon owner every time the weapon misses its hit. | |
| WeaponRecoilProperties | RecoilOnMissProperties |
| the recoil to apply when this weapon hits nothing | |
| bool | ApplyRecoilOnKill = false |
| Whether or not to apply recoil to the Weapon owner every time the weapon kills its target. | |
| WeaponRecoilProperties | RecoilOnKillProperties |
| The recoil to apply on kill. | |
| MMStateMachine< WeaponStates > | WeaponState |
| the weapon's state machine | |
Protected Member Functions | |
| virtual void | Start () |
| virtual void | InitializeFeedbacks () |
| Initializes all the feedbacks associated to this weapon. | |
| virtual void | Update () |
| On Update, we check if the weapon is or should be used. | |
| virtual void | LateUpdate () |
| On LateUpdate, processes the weapon state. | |
| virtual void | PreventMovement () |
| Handles movement prevention in air or on ground. | |
| virtual void | RestoreMovement () |
| virtual IEnumerator | ApplyForceWhileInUseCo () |
| An internal coroutine used to apply a force while the weapon's in use. | |
| virtual void | ProcessWeaponState () |
| Called every lastUpdate, processes the weapon's state machine. | |
| virtual void | CaseWeaponIdle () |
| virtual void | CaseWeaponStart () |
| virtual void | CaseWeaponDelayBeforeUse () |
| virtual void | CaseWeaponUse () |
| virtual void | CaseWeaponDelayBetweenUses () |
| virtual void | CaseWeaponStop () |
| virtual void | CaseWeaponInCooldown () |
| virtual void | CaseWeaponReloadNeeded () |
| virtual void | CaseWeaponReloadStart () |
| virtual void | CaseWeaponReload () |
| virtual void | CaseWeaponReloadStop () |
| virtual void | CaseWeaponInterrupted () |
| virtual void | WeaponUse () |
| When the weapon is used, plays the corresponding sound. | |
| virtual void | ShootRequest () |
| Determines whether or not the weapon can fire. | |
| virtual void | ResetMovementMultiplier () |
| virtual void | ReloadNeeded () |
| Describes what happens when the weapon needs a reload. | |
| virtual void | ReloadWeapon () |
| Reloads the weapon. | |
| virtual void | ApplyOffset () |
| Applies the offset specified in the inspector. | |
| virtual IEnumerator | ApplyRecoilCoroutine (WeaponRecoilProperties properties) |
| virtual void | ApplyRecoilInternal (WeaponRecoilProperties properties) |
| virtual Vector2 | GetRecoilDirection (WeaponRecoilProperties properties) |
| virtual void | TriggerWeaponStartFeedback () |
| Plays the weapon's start sound. | |
| virtual void | TriggerWeaponUsedFeedback () |
| Plays the weapon's used sound. | |
| virtual void | TriggerWeaponStopFeedback () |
| Plays the weapon's stop sound. | |
| virtual void | TriggerWeaponReloadNeededFeedback () |
| Plays the weapon's reload needed sound. | |
| virtual void | TriggerWeaponReloadFeedback () |
| Plays the weapon's reload sound. | |
| virtual void | TriggerWeaponOnHitFeedback () |
| Plays a feedback when the weapon hits something. | |
| virtual void | TriggerWeaponOnMissFeedback () |
| Plays a feedback when the weapon doesn't hit something. | |
| virtual void | TriggerWeaponOnHitDamageableFeedback () |
| Plays a feedback when the weapon hits a damageable. | |
| virtual void | TriggerWeaponOnHitNonDamageableFeedback () |
| Plays a feedback when the weapon hits a non damageable. | |
| virtual void | TriggerWeaponOnKillFeedback () |
| Plays a feedback when the weapon kills something. | |
| virtual void | AddParametersToAnimator (Animator animator, HashSet< int > list) |
| virtual void | UpdateAnimator (Animator animator, HashSet< int > list) |
| virtual void | ResetAnimatorParameters (Animator animator, HashSet< int > list) |
| virtual void | OnDisable () |
Static Protected Attributes | |
| const string | _aliveAnimationParameterName = "Alive" |
Properties | |
| string | WeaponID [get, set] |
| the name of the inventory item corresponding to this weapon. Automatically set (if needed) by InventoryEngineWeapon | |
| Character | Owner [get, protected set] |
| the weapon's owner | |
| CharacterHandleWeapon | CharacterHandleWeapon [get, set] |
| the weapon's owner's CharacterHandleWeapon component | |
| bool | Flipped [get, set] |
| if true, the weapon is flipped | |
| WeaponAmmo | WeaponAmmo [get, protected set] |
| the WeaponAmmo component optionnally associated to this weapon | |
This base class, meant to be extended (see ProjectileWeapon.cs for an example of that) handles rate of fire (rate of use actually), and ammo reloading.
|
protectedvirtual |
|
protectedvirtual |
An internal coroutine used to apply a force while the weapon's in use.
|
protectedvirtual |
Applies the offset specified in the inspector.
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
Flips the weapon.
Reimplemented in MoreMountains.CorgiEngine.ChargeWeapon.
|
virtual |
Flips the weapon model.
|
protectedvirtual |
|
virtual |
Initialize this weapon.
Reimplemented in MoreMountains.CorgiEngine.ChargeWeapon, MoreMountains.CorgiEngine.HitscanWeapon, MoreMountains.CorgiEngine.MeleeWeapon, and MoreMountains.CorgiEngine.ProjectileWeapon.
|
virtual |
Adds required animator parameters to the animator parameters list if they exist.
|
virtual |
Initializes the combo comp if found.
|
protectedvirtual |
Initializes all the feedbacks associated to this weapon.
|
virtual |
|
virtual |
Call this method to interrupt the weapon.
|
protectedvirtual |
On LateUpdate, processes the weapon state.
Reimplemented in MoreMountains.CorgiEngine.ProjectileWeapon.
|
protectedvirtual |
Reimplemented in MoreMountains.CorgiEngine.MeleeWeapon.
|
protectedvirtual |
Handles movement prevention in air or on ground.
|
protectedvirtual |
Called every lastUpdate, processes the weapon's state machine.
|
protectedvirtual |
Describes what happens when the weapon needs a reload.
|
protectedvirtual |
Reloads the weapon.
| ammo | Ammo. |
|
virtual |
|
protectedvirtual |
|
virtual |
|
virtual |
Lets you reset the cooldown of the weapon.
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
|
virtual |
Sets the weapon's owner.
| newOwner | New owner. |
|
protectedvirtual |
Determines whether or not the weapon can fire.
|
virtual |
Determines whether or not the weapon can fire.
|
protectedvirtual |
|
protectedvirtual |
Plays a feedback when the weapon hits a damageable.
|
protectedvirtual |
Plays a feedback when the weapon hits something.
|
protectedvirtual |
Plays a feedback when the weapon hits a non damageable.
|
protectedvirtual |
Plays a feedback when the weapon kills something.
|
protectedvirtual |
Plays a feedback when the weapon doesn't hit something.
|
protectedvirtual |
Plays the weapon's reload sound.
|
protectedvirtual |
Plays the weapon's reload needed sound.
|
protectedvirtual |
Plays the weapon's start sound.
|
protectedvirtual |
Plays the weapon's stop sound.
|
protectedvirtual |
Plays the weapon's used sound.
|
virtual |
Turns the weapon off.
Reimplemented in MoreMountains.CorgiEngine.MeleeWeapon.
|
virtual |
Describes what happens when the weapon starts.
Reimplemented in MoreMountains.CorgiEngine.ChargeWeapon.
|
protectedvirtual |
On Update, we check if the weapon is or should be used.
Reimplemented in MoreMountains.CorgiEngine.ChargeWeapon.
|
virtual |
Override this to send parameters to the character's animator. This is called once per cycle, by the Character class, after Early, normal and Late process().
|
protectedvirtual |
|
virtual |
Destroys the weapon.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Describes what happens when the weapon's input gets released.
Reimplemented in MoreMountains.CorgiEngine.ChargeWeapon.
|
virtual |
Called by input, turns the weapon on.
|
virtual |
Called by input, turns the weapon off if in auto mode.
|
virtual |
|
virtual |
|
protectedvirtual |
When the weapon is used, plays the corresponding sound.
Reimplemented in MoreMountains.CorgiEngine.HitscanWeapon, MoreMountains.CorgiEngine.MeleeWeapon, and MoreMountains.CorgiEngine.ProjectileWeapon.
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| bool MoreMountains.CorgiEngine.Weapon.AlwaysResetMultiplierToInitial = true |
if this is true, movement will always be reset to initial speed after a multiplier stops being applied
| int MoreMountains.CorgiEngine.Weapon.AmmoConsumedPerShot = 1 |
the amount of ammo consumed everytime the weapon fires
| List<Animator> MoreMountains.CorgiEngine.Weapon.Animators |
the other animators (other than the Character's) that you want to update every time this weapon gets used
| bool MoreMountains.CorgiEngine.Weapon.ApplyRecoilOnHitDamageable = false |
| bool MoreMountains.CorgiEngine.Weapon.ApplyRecoilOnHitNonDamageable = false |
Whether or not to apply recoil to the Weapon owner every time this weapon hits a non damageable object (a platform, prop, etc)
| bool MoreMountains.CorgiEngine.Weapon.ApplyRecoilOnKill = false |
Whether or not to apply recoil to the Weapon owner every time the weapon kills its target.
| bool MoreMountains.CorgiEngine.Weapon.ApplyRecoilOnMiss = false |
Whether or not to apply recoil to the Weapon owner every time the weapon misses its hit.
| bool MoreMountains.CorgiEngine.Weapon.ApplyRecoilOnUse = false |
Whether or not to apply recoil to the Weapon owner every time this weapon gets used, regardless of the outcome.
| bool MoreMountains.CorgiEngine.Weapon.AutoDestroyWhenEmpty |
if this is set to true, the weapon will auto destroy when there's no ammo left
| float MoreMountains.CorgiEngine.Weapon.AutoDestroyWhenEmptyDelay = 1f |
the delay (in seconds) before weapon destruction if empty
| bool MoreMountains.CorgiEngine.Weapon.AutoReload |
if this is true, pressing the fire button when a reload is needed will reload the weapon. Otherwise you'll need to press the reload button
| int MoreMountains.CorgiEngine.Weapon.BurstLength = 3 |
the amount of 'shots' in a burst sequence
| float MoreMountains.CorgiEngine.Weapon.BurstTimeBetweenShots = 0.1f |
the time between shots in a burst sequence (in seconds)
| float MoreMountains.CorgiEngine.Weapon.CooldownDuration = 0f |
a duration, in seconds, at the end of the weapon's life cycle and before going back to Idle
| int MoreMountains.CorgiEngine.Weapon.CurrentAmmoLoaded = 0 |
the current amount of ammo loaded inside the weapon
| float MoreMountains.CorgiEngine.Weapon.DelayBeforeUse = 0f |
the delay before use, that will be applied for every shot
| string MoreMountains.CorgiEngine.Weapon.DelayBeforeUseAnimationParameter |
the name of the weapon's delay before use animation parameter : true when the weapon has been activated but hasn't been used yet
| bool MoreMountains.CorgiEngine.Weapon.DelayBeforeUseReleaseInterruption = true |
whether or not the delay before used can be interrupted by releasing the shoot button (if true, releasing the button will cancel the delayed shot)
| string MoreMountains.CorgiEngine.Weapon.DelayBetweenUsesAnimationParameter |
the name of the weapon's delay between each use animation parameter : true when the weapon is in use
| bool MoreMountains.CorgiEngine.Weapon.DisableGravityWhileInUse = false |
whether or not to disable gravity while the weapon is in use
| string MoreMountains.CorgiEngine.Weapon.EquippedAnimationParameter |
the name of the parameter to send to true as long as this weapon is equipped, used or not. While all the other parameters defined here are updated by the Weapon class itself, and passed to the weapon and character, this one will be updated by CharacterHandleWeapon only.
| Vector3 MoreMountains.CorgiEngine.Weapon.FlipValue = new Vector3(-1,1,1) |
the FlipValue will be used to multiply the model's transform's localscale on flip. Usually it's -1,1,1, but feel free to change it to suit your model's specs
| bool MoreMountains.CorgiEngine.Weapon.FlipWeaponOnCharacterFlip = true |
should that weapon be flipped when the character flips ?
| Vector2 MoreMountains.CorgiEngine.Weapon.ForceWhileInUse = Vector2.zero |
the force to apply when the weapon is in use, if SetForceWhileInUse is true
| string MoreMountains.CorgiEngine.Weapon.IdleAnimationParameter |
the name of the weapon's idle animation parameter : this will be true all the time except when the weapon is being used
| string MoreMountains.CorgiEngine.Weapon.InCooldownAnimationParameter |
the name of the weapon's in cooldown animation parameter : true when the weapon is in cooldown
| bool MoreMountains.CorgiEngine.Weapon.InitializeOnStart = false |
If this is true, the weapon will initialize itself on start, otherwise it'll have to be init manually, usually by the CharacterHandleWeapon class.
| bool MoreMountains.CorgiEngine.Weapon.Interruptable = false |
whether or not this weapon can be interrupted
| Transform MoreMountains.CorgiEngine.Weapon.LeftHandHandle |
the transform to which the character's left hand should be attached to
| bool MoreMountains.CorgiEngine.Weapon.MagazineBased = false |
whether or not the weapon is magazine based. If it's not, it'll just take its ammo inside a global pool
| int MoreMountains.CorgiEngine.Weapon.MagazineSize = 30 |
the size of the magazine
| bool MoreMountains.CorgiEngine.Weapon.MirrorCharacterAnimatorParameters = false |
if this is true, the weapon's animator(s) will mirror the animation parameter of the owner character (that way your weapon's animator will be able to "know" if the character is walking, jumping, etc)
| bool MoreMountains.CorgiEngine.Weapon.ModifyMovementWhileAttacking = false |
if this is true, a multiplier will be applied to movement while the weapon is active
| bool MoreMountains.CorgiEngine.Weapon.ModifyMovementWhileEquipped = false |
if this is true, a multiplier will be applied to movement while the weapon is equipped
| float MoreMountains.CorgiEngine.Weapon.MovementMultiplier = 0f |
the multiplier to apply to movement while attacking
| float MoreMountains.CorgiEngine.Weapon.PermanentMovementMultiplier = 0f |
the multiplier to apply to movement while equipped
| bool MoreMountains.CorgiEngine.Weapon.PreventFlipWhileInUse = false |
whether or not to disable flip while the weapon is in use
| bool MoreMountains.CorgiEngine.Weapon.PreventHorizontalAirMovementWhileInUse = false |
if this is true all horizontal air movement will be prevented (even flip) while the weapon is active
| bool MoreMountains.CorgiEngine.Weapon.PreventHorizontalGroundMovementWhileInUse = false |
if this is true all movement will be prevented (even flip) while the weapon is active
| WeaponRecoilProperties MoreMountains.CorgiEngine.Weapon.RecoilOnHitDamageableProperties |
the recoil to apply when this weapon hits a damageable
| WeaponRecoilProperties MoreMountains.CorgiEngine.Weapon.RecoilOnHitNonDamageableProperties |
the recoil to apply when this weapon hits a non damageable
| WeaponRecoilProperties MoreMountains.CorgiEngine.Weapon.RecoilOnKillProperties |
The recoil to apply on kill.
| WeaponRecoilProperties MoreMountains.CorgiEngine.Weapon.RecoilOnMissProperties |
the recoil to apply when this weapon hits nothing
| WeaponRecoilProperties MoreMountains.CorgiEngine.Weapon.RecoilOnUseProperties |
The recoil to apply every time this weapon gets used.
| string MoreMountains.CorgiEngine.Weapon.ReloadAnimationParameter |
the name of the weapon reload animation parameter
| string MoreMountains.CorgiEngine.Weapon.ReloadStartAnimationParameter |
the name of the weapon reload start animation parameter
| string MoreMountains.CorgiEngine.Weapon.ReloadStopAnimationParameter |
the name of the weapon reload end animation parameter
| float MoreMountains.CorgiEngine.Weapon.ReloadTime = 2f |
the time it takes to reload the weapon
| Transform MoreMountains.CorgiEngine.Weapon.RightHandHandle |
the transform to which the character's right hand should be attached to
| bool MoreMountains.CorgiEngine.Weapon.SetForceWhileInUse = false |
whether or not to apply a force when the weapon is in use
| string MoreMountains.CorgiEngine.Weapon.SingleUseAnimationParameter |
the name of the weapon's single use animation parameter : true at each frame the weapon activates (shoots)
| string MoreMountains.CorgiEngine.Weapon.StartAnimationParameter |
the name of the weapon's start animation parameter : true at the frame where the weapon starts being used
| string MoreMountains.CorgiEngine.Weapon.StopAnimationParameter |
the name of the weapon stop animation parameter : true after a shot and before the next one or the weapon's stop
| float MoreMountains.CorgiEngine.Weapon.TimeBetweenUses = 1f |
the time (in seconds) between two shots
| bool MoreMountains.CorgiEngine.Weapon.TimeBetweenUsesReleaseInterruption = true |
whether or not the time between uses can be interrupted by releasing the shoot button (if true, releasing the button will cancel the time between uses)
| TriggerModes MoreMountains.CorgiEngine.Weapon.TriggerMode = TriggerModes.Auto |
is this weapon on semi or full auto ?
| string MoreMountains.CorgiEngine.Weapon.UseAnimationParameter |
the name of the weapon's in use animation parameter : true at each frame the weapon has started firing but hasn't stopped yet
| bool MoreMountains.CorgiEngine.Weapon.UseBurstMode = false |
if this is true, the weapon will activate repeatedly for every shoot request
| string MoreMountains.CorgiEngine.Weapon.WeaponAngleAnimationParameter |
the name of the weapon's angle animation parameter
| string MoreMountains.CorgiEngine.Weapon.WeaponAngleRelativeAnimationParameter |
the name of the weapon's angle animation parameter, adjusted so it's always relative to the direction the character is currently facing
| Vector3 MoreMountains.CorgiEngine.Weapon.WeaponAttachmentOffset = Vector3.zero |
an offset that will be applied to the weapon once attached to the center of the WeaponAttachment transform.
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponOnHitDamageableFeedback |
A MMFeedback to play when the weapon hits a damageable.
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponOnHitFeedback |
A MMFeedback to play when the weapon hits anything (damageable or not)
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponOnHitNonDamageableFeedback |
A MMFeedback to play when the weapon hits a non damageable object.
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponOnKillFeedback |
A MMFeedback to play when the weapon kills something.
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponOnMissFeedback |
A MMFeedback to play when the weapon misses (what constitutes a miss is defined per Weapon subclass)
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponReloadMMFeedback |
the feedback to play when the weapon gets reloaded
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponReloadNeededMMFeedback |
the feedback to play when the weapon gets reloaded
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponStartMMFeedback |
the feedback to play when the weapon starts being used
| MMStateMachine<WeaponStates> MoreMountains.CorgiEngine.Weapon.WeaponState |
the weapon's state machine
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponStopMMFeedback |
the feedback to play when the weapon stops being used
| MMFeedbacks MoreMountains.CorgiEngine.Weapon.WeaponUsedMMFeedback |
the feedback to play while the weapon is in use
|
getset |
the weapon's owner's CharacterHandleWeapon component
|
getset |
if true, the weapon is flipped
|
getprotected set |
the weapon's owner
|
getprotected set |
the WeaponAmmo component optionnally associated to this weapon
|
getset |
the name of the inventory item corresponding to this weapon. Automatically set (if needed) by InventoryEngineWeapon