Corgi Engine  v8.8
MoreMountains.CorgiEngine.ChargeWeapon Class Reference

Add this component to an object and it'll let you define a sequence of charge steps, each triggering their own unique weapon, complete with options like input modes or conditional releases, hooks for every steps, and more. Useful for Megaman or Zelda like types of charge weapons. More...

Inheritance diagram for MoreMountains.CorgiEngine.ChargeWeapon:
MoreMountains.CorgiEngine.Weapon MoreMountains.Tools.MMMonoBehaviour

Public Types

enum  TimescaleModes { TimescaleModes.Scaled, TimescaleModes.Unscaled }
 the possible timescales for this weapon More...
 
enum  ReleaseModes { ReleaseModes.OnInputRelease, ReleaseModes.AfterLastChargeDuration }
 whether the charge should be released on input release, or after the last charge duration More...
 
- Public Types inherited from MoreMountains.CorgiEngine.Weapon
enum  TriggerModes { TriggerModes.SemiAuto, TriggerModes.Auto }
 the possible use modes for the trigger More...
 
enum  WeaponStates {
  WeaponStates.WeaponIdle, WeaponStates.WeaponStart, WeaponStates.WeaponDelayBeforeUse, WeaponStates.WeaponUse,
  WeaponStates.WeaponDelayBetweenUses, WeaponStates.WeaponStop, WeaponStates.WeaponReloadNeeded, WeaponStates.WeaponReloadStart,
  WeaponStates.WeaponReload, WeaponStates.WeaponReloadStop, WeaponStates.WeaponInterrupted, WeaponStates.WeaponInCooldown
}
 the possible states the weapon can be in More...
 

Public Member Functions

override void Initialization ()
 On init, we initialize our durations, weapons and reset the charge More...
 
virtual void InitializeTotalDurations ()
 goes through all weapons to setup their total duration (the time from start after which their step is complete) More...
 
virtual void ResetCharge ()
 resets the charge, reinitializing all counters More...
 
override void TurnWeaponOn ()
 When the charge weapon gets activated, we start charging More...
 
override void WeaponInputReleased ()
 When the charge weapon's input gets released, we stop charging More...
 
override void FlipWeapon ()
 Flips the weapon. More...
 
- Public Member Functions inherited from MoreMountains.CorgiEngine.Weapon
virtual void InitializeComboWeapons ()
 Initializes the combo comp if found More...
 
virtual void SetOwner (Character newOwner, CharacterHandleWeapon handleWeapon)
 Sets the weapon's owner More...
 
virtual void WeaponInputStart ()
 Called by input, turns the weapon on More...
 
virtual void WeaponInputStop ()
 Called by input, turns the weapon off if in auto mode More...
 
virtual void TurnWeaponOff ()
 Turns the weapon off. More...
 
virtual void Interrupt ()
 Call this method to interrupt the weapon More...
 
virtual bool WeaponInCooldown ()
 
virtual void SetCooldownStartAt ()
 
virtual IEnumerator ShootRequestCo ()
 Determines whether or not the weapon can fire More...
 
virtual void InitiateReloadWeapon ()
 
virtual void FlipWeaponModel ()
 Flips the weapon model. More...
 
virtual IEnumerator WeaponDestruction ()
 Destroys the weapon More...
 
virtual void ApplyRecoil (bool shouldApplyRecoil, WeaponRecoilProperties properties)
 
virtual void InitializeAnimatorParameters ()
 Adds required animator parameters to the animator parameters list if they exist More...
 
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(). More...
 
virtual void ResetComboAnimatorParameter ()
 
virtual void ResetAnimatorParameters ()
 
virtual void WeaponHit ()
 
virtual void WeaponHitDamageable ()
 
virtual void WeaponHitNonDamageable ()
 
virtual void WeaponMiss ()
 
virtual void WeaponKill ()
 

Public Attributes

virtual float DeltaTime => TimescaleMode == TimescaleModes.Scaled ? Time.deltaTime : Time.unscaledDeltaTime
 the current delta time value More...
 
virtual float CurrentTime => TimescaleMode == TimescaleModes.Scaled ? Time.time : Time.unscaledTime
 the current time value More...
 
List< ChargeWeaponStepWeapons
 the list of weapons that make up this charge weapon's sequence of steps More...
 
ReleaseModes ReleaseMode = ReleaseModes.OnInputRelease
 whether this weapon should trigger its attack when all steps are done charging, or when input gets released More...
 
TimescaleModes TimescaleMode = TimescaleModes.Scaled
 whether this weapon's input should run on scaled or unscaled time More...
 
bool AllowInitialShotOnPress = true
 whether or not the start of the charge should trigger the first step's weapon's attack or not More...
 
bool AllowInitialShotOnRelease = false
 whether or not releasing the charge should trigger the first step's weapon's attack or not More...
 
int CurrentChargeIndex = 0
 the current charge index in the Weapons step list More...
 
bool Charging = false
 whether this weapon is currently charging or not More...
 
- Public Attributes inherited from MoreMountains.CorgiEngine.Weapon
TriggerModes TriggerMode = TriggerModes.Auto
 is this weapon on semi or full auto ? More...
 
bool Interruptable = false
 whether or not this weapon can be interrupted More...
 
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. More...
 
float DelayBeforeUse = 0f
 the delay before use, that will be applied for every shot More...
 
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) More...
 
float TimeBetweenUses = 1f
 the time (in seconds) between two shots
More...
 
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) More...
 
float CooldownDuration = 0f
 a duration, in seconds, at the end of the weapon's life cycle and before going back to Idle More...
 
bool UseBurstMode = false
 if this is true, the weapon will activate repeatedly for every shoot request More...
 
int BurstLength = 3
 the amount of 'shots' in a burst sequence More...
 
float BurstTimeBetweenShots = 0.1f
 the time between shots in a burst sequence (in seconds) More...
 
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 More...
 
int MagazineSize = 30
 the size of the magazine More...
 
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 More...
 
float ReloadTime = 2f
 the time it takes to reload the weapon More...
 
int AmmoConsumedPerShot = 1
 the amount of ammo consumed everytime the weapon fires More...
 
bool AutoDestroyWhenEmpty
 if this is set to true, the weapon will auto destroy when there's no ammo left More...
 
float AutoDestroyWhenEmptyDelay = 1f
 the delay (in seconds) before weapon destruction if empty More...
 
int CurrentAmmoLoaded = 0
 the current amount of ammo loaded inside the weapon More...
 
Vector3 WeaponAttachmentOffset = Vector3.zero
 an offset that will be applied to the weapon once attached to the center of the WeaponAttachment transform. More...
 
bool FlipWeaponOnCharacterFlip = true
 should that weapon be flipped when the character flips ? More...
 
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 More...
 
Transform LeftHandHandle
 the transform to which the character's left hand should be attached to More...
 
Transform RightHandHandle
 the transform to which the character's right hand should be attached to More...
 
bool ModifyMovementWhileEquipped = false
 if this is true, a multiplier will be applied to movement while the weapon is equipped More...
 
float PermanentMovementMultiplier = 0f
 the multiplier to apply to movement while equipped More...
 
bool ModifyMovementWhileAttacking = false
 if this is true, a multiplier will be applied to movement while the weapon is active More...
 
float MovementMultiplier = 0f
 the multiplier to apply to movement while attacking More...
 
bool AlwaysResetMultiplierToInitial = true
 if this is true, movement will always be reset to initial speed after a multiplier stops being applied More...
 
bool PreventHorizontalGroundMovementWhileInUse = false
 if this is true all movement will be prevented (even flip) while the weapon is active More...
 
bool PreventHorizontalAirMovementWhileInUse = false
 if this is true all horizontal air movement will be prevented (even flip) while the weapon is active More...
 
bool SetForceWhileInUse = false
 whether or not to apply a force when the weapon is in use More...
 
Vector2 ForceWhileInUse = Vector2.zero
 the force to apply when the weapon is in use, if SetForceWhileInUse is true More...
 
bool DisableGravityWhileInUse = false
 whether or not to disable gravity while the weapon is in use More...
 
bool PreventFlipWhileInUse = false
 whether or not to disable flip while the weapon is in use More...
 
List< Animator > Animators
 the other animators (other than the Character's) that you want to update every time this weapon gets used More...
 
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) More...
 
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 More...
 
string StartAnimationParameter
 the name of the weapon's start animation parameter : true at the frame where the weapon starts being used More...
 
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 More...
 
string SingleUseAnimationParameter
 the name of the weapon's single use animation parameter : true at each frame the weapon activates (shoots) More...
 
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 More...
 
string DelayBetweenUsesAnimationParameter
 the name of the weapon's delay between each use animation parameter : true when the weapon is in use More...
 
string InCooldownAnimationParameter
 the name of the weapon's in cooldown animation parameter : true when the weapon is in cooldown More...
 
string StopAnimationParameter
 the name of the weapon stop animation parameter : true after a shot and before the next one or the weapon's stop More...
 
string ReloadStartAnimationParameter
 the name of the weapon reload start animation parameter More...
 
string ReloadAnimationParameter
 the name of the weapon reload animation parameter More...
 
string ReloadStopAnimationParameter
 the name of the weapon reload end animation parameter More...
 
string WeaponAngleAnimationParameter
 the name of the weapon's angle animation parameter More...
 
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 More...
 
MMFeedbacks WeaponStartMMFeedback
 the feedback to play when the weapon starts being used More...
 
MMFeedbacks WeaponUsedMMFeedback
 the feedback to play while the weapon is in use More...
 
MMFeedbacks WeaponStopMMFeedback
 the feedback to play when the weapon stops being used More...
 
MMFeedbacks WeaponReloadMMFeedback
 the feedback to play when the weapon gets reloaded More...
 
MMFeedbacks WeaponReloadNeededMMFeedback
 the feedback to play when the weapon gets reloaded More...
 
MMFeedbacks WeaponOnHitFeedback
 A MMFeedback to play when the weapon hits anything (damageable or not) More...
 
MMFeedbacks WeaponOnMissFeedback
 A MMFeedback to play when the weapon misses (what constitutes a miss is defined per Weapon subclass) More...
 
MMFeedbacks WeaponOnHitDamageableFeedback
 A MMFeedback to play when the weapon hits a damageable. More...
 
MMFeedbacks WeaponOnHitNonDamageableFeedback
 A MMFeedback to play when the weapon hits a non damageable object. More...
 
MMFeedbacks WeaponOnKillFeedback
 A MMFeedback to play when the weapon kills something. More...
 
bool ApplyRecoilOnUse = false
 Whether or not to apply recoil to the Weapon owner every time this weapon gets used, regardless of the outcome. More...
 
WeaponRecoilProperties RecoilOnUseProperties
 The recoil to apply every time this weapon gets used. More...
 
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) More...
 
WeaponRecoilProperties RecoilOnHitDamageableProperties
 the recoil to apply when this weapon hits a damageable More...
 
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) More...
 
WeaponRecoilProperties RecoilOnHitNonDamageableProperties
 the recoil to apply when this weapon hits a non damageable More...
 
bool ApplyRecoilOnMiss = false
 Whether or not to apply recoil to the Weapon owner every time the weapon misses its hit. More...
 
WeaponRecoilProperties RecoilOnMissProperties
 the recoil to apply when this weapon hits nothing More...
 
bool ApplyRecoilOnKill = false
 Whether or not to apply recoil to the Weapon owner every time the weapon kills its target. More...
 
WeaponRecoilProperties RecoilOnKillProperties
 The recoil to apply on kill. More...
 
MMStateMachine< WeaponStatesWeaponState
 the weapon's state machine More...
 

Protected Member Functions

virtual void InitializeWeapons ()
 Initializes all weapons for all steps More...
 
override void Update ()
 On update, if we're charging, we process our charge to evaluate the current step More...
 
virtual void ProcessCharge ()
 Determines the current step, and if it's different from the last frame, starts the new step More...
 
virtual void StartChargeSequence ()
 Initializes the charge sequence More...
 
virtual void StartStepCharge (int index)
 Causes a step to start charging More...
 
virtual void InterruptStepCharge (int index)
 Stops a step charge More...
 
virtual void CompleteStepCharge (int index)
 Completes a step charge More...
 
virtual void StopChargeSequence ()
 Stops the entire charge sequence, triggering the appropriate feedbacks More...
 
virtual void ForceWeaponAttack (int index)
 Forces the weapon at the specified step to turn on More...
 
virtual int FindCurrentWeaponIndex ()
 Returns the index of the current weapon in the charge sequence More...
 
virtual bool WeaponExists (int index)
 Returns true if the weapon at the specified index exists More...
 
- Protected Member Functions inherited from MoreMountains.CorgiEngine.Weapon
virtual void Start ()
 
virtual void InitializeFeedbacks ()
 Initializes all the feedbacks associated to this weapon More...
 
virtual void LateUpdate ()
 On LateUpdate, processes the weapon state More...
 
virtual void PreventMovement ()
 Handles movement prevention in air or on ground More...
 
virtual void RestoreMovement ()
 
virtual IEnumerator ApplyForceWhileInUseCo ()
 An internal coroutine used to apply a force while the weapon's in use More...
 
virtual void ProcessWeaponState ()
 Called every lastUpdate, processes the weapon's state machine More...
 
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 More...
 
virtual void ShootRequest ()
 Determines whether or not the weapon can fire More...
 
virtual void ResetMovementMultiplier ()
 
virtual void ReloadNeeded ()
 Describes what happens when the weapon needs a reload More...
 
virtual void ReloadWeapon ()
 Reloads the weapon More...
 
virtual void ApplyOffset ()
 Applies the offset specified in the inspector More...
 
virtual IEnumerator ApplyRecoilCoroutine (WeaponRecoilProperties properties)
 
virtual void ApplyRecoilInternal (WeaponRecoilProperties properties)
 
virtual Vector2 GetRecoilDirection (WeaponRecoilProperties properties)
 
virtual void TriggerWeaponStartFeedback ()
 Plays the weapon's start sound More...
 
virtual void TriggerWeaponUsedFeedback ()
 Plays the weapon's used sound More...
 
virtual void TriggerWeaponStopFeedback ()
 Plays the weapon's stop sound More...
 
virtual void TriggerWeaponReloadNeededFeedback ()
 Plays the weapon's reload needed sound More...
 
virtual void TriggerWeaponReloadFeedback ()
 Plays the weapon's reload sound More...
 
virtual void TriggerWeaponOnHitFeedback ()
 Plays a feedback when the weapon hits something More...
 
virtual void TriggerWeaponOnMissFeedback ()
 Plays a feedback when the weapon doesn't hit something More...
 
virtual void TriggerWeaponOnHitDamageableFeedback ()
 Plays a feedback when the weapon hits a damageable More...
 
virtual void TriggerWeaponOnHitNonDamageableFeedback ()
 Plays a feedback when the weapon hits a non damageable More...
 
virtual void TriggerWeaponOnKillFeedback ()
 Plays a feedback when the weapon kills something More...
 
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 ()
 

Protected Attributes

float _chargingStartedAt = 0f
 
int _chargeIndexLastFrame
 
int _initialWeaponIndex = 0
 
- Protected Attributes inherited from MoreMountains.CorgiEngine.Weapon
SpriteRenderer _spriteRenderer
 
CharacterGravity _characterGravity
 
CorgiController _controller
 
CharacterHorizontalMovement _characterHorizontalMovement
 
WeaponAim _aimableWeapon
 
float _permanentMovementMultiplierStorage = 1f
 
float _movementMultiplierStorage = 1f
 
Animator _ownerAnimator
 
float _delayBeforeUseCounter = 0f
 
float _delayBetweenUsesCounter = 0f
 
float _cooldownStartAt = float.NegativeInfinity
 
float _reloadingCounter = 0f
 
bool _triggerReleased = false
 
bool _reloading = false
 
ComboWeapon _comboWeapon
 
Vector3 _weaponOffset
 
Vector3 _weaponAttachmentOffset
 
Transform _weaponAttachment
 
List< HashSet< int > > _animatorParameters
 
HashSet< int > _ownerAnimatorParameters
 
bool _initialized = false
 
bool _applyForceWhileInUse = false
 
Vector2 _forceWhileInUse
 
bool _movementMultiplierNeedsResetting = false
 
int _equippedAnimationParameter
 
int _idleAnimationParameter
 
int _startAnimationParameter
 
int _delayBeforeUseAnimationParameter
 
int _singleUseAnimationParameter
 
int _useAnimationParameter
 
int _delayBetweenUsesAnimationParameter
 
int _inCooldownAnimationParameter
 
int _stopAnimationParameter
 
int _reloadStartAnimationParameter
 
int _reloadAnimationParameter
 
int _reloadStopAnimationParameter
 
int _weaponAngleAnimationParameter
 
int _weaponAngleRelativeAnimationParameter
 
int _aliveAnimationParameter
 
int _comboInProgressAnimationParameter
 
Vector2 _recoilDirection
 
bool _characterHorizontalMovementNotNull = false
 
bool _controllerNotNull = false
 
float _lastTurnWeaponOnAt = -float.MaxValue
 
bool _gravityBeforeUse = true
 
bool _canFlipBeforeUse = true
 
Vector3 _newHandleAngles
 

Additional Inherited Members

- Static Protected Attributes inherited from MoreMountains.CorgiEngine.Weapon
const string _aliveAnimationParameterName = "Alive"
 
- Properties inherited from MoreMountains.CorgiEngine.Weapon
string WeaponID [get, set]
 the name of the inventory item corresponding to this weapon. Automatically set (if needed) by InventoryEngineWeapon More...
 
Character Owner [get, protected set]
 the weapon's owner More...
 
CharacterHandleWeapon CharacterHandleWeapon [get, set]
 the weapon's owner's CharacterHandleWeapon component More...
 
bool Flipped [get, set]
 if true, the weapon is flipped More...
 
WeaponAmmo WeaponAmmo [get, protected set]
 the WeaponAmmo component optionnally associated to this weapon More...
 

Detailed Description

Add this component to an object and it'll let you define a sequence of charge steps, each triggering their own unique weapon, complete with options like input modes or conditional releases, hooks for every steps, and more. Useful for Megaman or Zelda like types of charge weapons.

Member Enumeration Documentation

◆ ReleaseModes

whether the charge should be released on input release, or after the last charge duration

Enumerator
OnInputRelease 
AfterLastChargeDuration 

◆ TimescaleModes

the possible timescales for this weapon

Enumerator
Scaled 
Unscaled 

Member Function Documentation

◆ CompleteStepCharge()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.CompleteStepCharge ( int  index)
protectedvirtual

Completes a step charge

Parameters
index

◆ FindCurrentWeaponIndex()

virtual int MoreMountains.CorgiEngine.ChargeWeapon.FindCurrentWeaponIndex ( )
protectedvirtual

Returns the index of the current weapon in the charge sequence

Returns

◆ FlipWeapon()

override void MoreMountains.CorgiEngine.ChargeWeapon.FlipWeapon ( )
virtual

Flips the weapon.

Reimplemented from MoreMountains.CorgiEngine.Weapon.

◆ ForceWeaponAttack()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.ForceWeaponAttack ( int  index)
protectedvirtual

Forces the weapon at the specified step to turn on

Parameters
index

◆ Initialization()

override void MoreMountains.CorgiEngine.ChargeWeapon.Initialization ( )
virtual

On init, we initialize our durations, weapons and reset the charge

Reimplemented from MoreMountains.CorgiEngine.Weapon.

◆ InitializeTotalDurations()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.InitializeTotalDurations ( )
virtual

goes through all weapons to setup their total duration (the time from start after which their step is complete)

◆ InitializeWeapons()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.InitializeWeapons ( )
protectedvirtual

Initializes all weapons for all steps

◆ InterruptStepCharge()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.InterruptStepCharge ( int  index)
protectedvirtual

Stops a step charge

Parameters
index

◆ ProcessCharge()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.ProcessCharge ( )
protectedvirtual

Determines the current step, and if it's different from the last frame, starts the new step

◆ ResetCharge()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.ResetCharge ( )
virtual

resets the charge, reinitializing all counters

◆ StartChargeSequence()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.StartChargeSequence ( )
protectedvirtual

Initializes the charge sequence

◆ StartStepCharge()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.StartStepCharge ( int  index)
protectedvirtual

Causes a step to start charging

Parameters
index

◆ StopChargeSequence()

virtual void MoreMountains.CorgiEngine.ChargeWeapon.StopChargeSequence ( )
protectedvirtual

Stops the entire charge sequence, triggering the appropriate feedbacks

◆ TurnWeaponOn()

override void MoreMountains.CorgiEngine.ChargeWeapon.TurnWeaponOn ( )
virtual

When the charge weapon gets activated, we start charging

Reimplemented from MoreMountains.CorgiEngine.Weapon.

◆ Update()

override void MoreMountains.CorgiEngine.ChargeWeapon.Update ( )
protectedvirtual

On update, if we're charging, we process our charge to evaluate the current step

Reimplemented from MoreMountains.CorgiEngine.Weapon.

◆ WeaponExists()

virtual bool MoreMountains.CorgiEngine.ChargeWeapon.WeaponExists ( int  index)
protectedvirtual

Returns true if the weapon at the specified index exists

Parameters
index
Returns

◆ WeaponInputReleased()

override void MoreMountains.CorgiEngine.ChargeWeapon.WeaponInputReleased ( )
virtual

When the charge weapon's input gets released, we stop charging

Reimplemented from MoreMountains.CorgiEngine.Weapon.

Member Data Documentation

◆ _chargeIndexLastFrame

int MoreMountains.CorgiEngine.ChargeWeapon._chargeIndexLastFrame
protected

◆ _chargingStartedAt

float MoreMountains.CorgiEngine.ChargeWeapon._chargingStartedAt = 0f
protected

◆ _initialWeaponIndex

int MoreMountains.CorgiEngine.ChargeWeapon._initialWeaponIndex = 0
protected

◆ AllowInitialShotOnPress

bool MoreMountains.CorgiEngine.ChargeWeapon.AllowInitialShotOnPress = true

whether or not the start of the charge should trigger the first step's weapon's attack or not

◆ AllowInitialShotOnRelease

bool MoreMountains.CorgiEngine.ChargeWeapon.AllowInitialShotOnRelease = false

whether or not releasing the charge should trigger the first step's weapon's attack or not

◆ Charging

bool MoreMountains.CorgiEngine.ChargeWeapon.Charging = false

whether this weapon is currently charging or not

◆ CurrentChargeIndex

int MoreMountains.CorgiEngine.ChargeWeapon.CurrentChargeIndex = 0

the current charge index in the Weapons step list

◆ CurrentTime

virtual float MoreMountains.CorgiEngine.ChargeWeapon.CurrentTime => TimescaleMode == TimescaleModes.Scaled ? Time.time : Time.unscaledTime

the current time value

◆ DeltaTime

virtual float MoreMountains.CorgiEngine.ChargeWeapon.DeltaTime => TimescaleMode == TimescaleModes.Scaled ? Time.deltaTime : Time.unscaledDeltaTime

the current delta time value

◆ ReleaseMode

ReleaseModes MoreMountains.CorgiEngine.ChargeWeapon.ReleaseMode = ReleaseModes.OnInputRelease

whether this weapon should trigger its attack when all steps are done charging, or when input gets released

◆ TimescaleMode

TimescaleModes MoreMountains.CorgiEngine.ChargeWeapon.TimescaleMode = TimescaleModes.Scaled

whether this weapon's input should run on scaled or unscaled time

◆ Weapons

List<ChargeWeaponStep> MoreMountains.CorgiEngine.ChargeWeapon.Weapons

the list of weapons that make up this charge weapon's sequence of steps


The documentation for this class was generated from the following file: