Class CharacterAttackness
Behavior class that handles attack logic for character
Constructors
CharacterAttackness(Character)
Behavior class that handles attack logic for character
Declaration
public CharacterAttackness(Character character)
Fields
AirSpeedRateOnAttack
Moving speed will be mutiply be this rate when character is attacking while not grounded (0 means 0%, 1000 means 100%)
Declaration
public readonly FrameBasedInt AirSpeedRateOnAttack
AttackComboGap
Attack happens between this many frames should be combo attacks
Declaration
public readonly FrameBasedInt AttackComboGap
AttackInAir
Allow character attack when not grounded
Declaration
public readonly FrameBasedBool AttackInAir
AttackInWater
Allow character attack when inside water
Declaration
public readonly FrameBasedBool AttackInWater
AttackWhenClimbing
Allow character attack when climbing
Declaration
public readonly FrameBasedBool AttackWhenClimbing
AttackWhenDashing
Allow character attack when dashing
Declaration
public readonly FrameBasedBool AttackWhenDashing
AttackWhenFlying
Allow character attack when flying
Declaration
public readonly FrameBasedBool AttackWhenFlying
AttackWhenGrabbing
Allow character attack when grabbing
Declaration
public readonly FrameBasedBool AttackWhenGrabbing
AttackWhenPounding
Allow character attack when pounding
Declaration
public readonly FrameBasedBool AttackWhenPounding
AttackWhenRolling
Allow character attack when rolling
Declaration
public readonly FrameBasedBool AttackWhenRolling
AttackWhenRunning
Allow character attack when running
Declaration
public readonly FrameBasedBool AttackWhenRunning
AttackWhenRush
Allow character attack when rushing
Declaration
public readonly FrameBasedBool AttackWhenRush
AttackWhenSliding
Allow character attack when sliding
Declaration
public readonly FrameBasedBool AttackWhenSliding
AttackWhenSquatting
Allow character attack when squatting
Declaration
public readonly FrameBasedBool AttackWhenSquatting
AttackWhenWalking
Allow character attack when walking
Declaration
public readonly FrameBasedBool AttackWhenWalking
CancelAttackOnJump
When character jumps, unfinished attack will be cancel
Declaration
public readonly FrameBasedBool CancelAttackOnJump
DefaultSpeedRateOnAttack
Moving speed will be mutiply be this rate when character is attacking (0 means 0%, 1000 means 100%)
Declaration
public readonly FrameBasedInt DefaultSpeedRateOnAttack
HoldAttackPunishFrame
If hold attack button to perform multiple attacks, the cooldown will be add this frames longer
Declaration
public readonly FrameBasedInt HoldAttackPunishFrame
RunningSpeedRateOnAttack
Moving speed will be mutiply be this rate when character is attacking while running (0 means 0%, 1000 means 100%)
Declaration
public readonly FrameBasedInt RunningSpeedRateOnAttack
TargetCharacter
Character hosting this attackness
Declaration
public readonly Character TargetCharacter
WalkingSpeedRateOnAttack
Moving speed will be mutiply be this rate when character is attacking while walking (0 means 0%, 1000 means 100%)
Declaration
public readonly FrameBasedInt WalkingSpeedRateOnAttack
Properties
AimingDirection
Which direction does the character attacks
Declaration
public Direction8 AimingDirection { get; set; }
AttackChargeStartFrame
The start frame of the last attack charging
Declaration
public int? AttackChargeStartFrame { get; }
AttackCooldown
How many frames should be wait from the prev attack end to the next attack start
Declaration
public int AttackCooldown { get; set; }
AttackDuration
How many frames should be the current attack last
Declaration
public int AttackDuration { get; set; }
AttackStartFacingRight
True if character facing right when the current attack start
Declaration
public bool AttackStartFacingRight { get; set; }
AttackStyleIndex
Attack style index of the current attack, indicate what kind of rendering style should be apply to the current attack
Declaration
public int AttackStyleIndex { get; set; }
HoldingAttack
True if the character is holding attack button
Declaration
public bool HoldingAttack { get; }
IsAttackIgnored
True if the character is not allow to attack at the current frame
Declaration
public bool IsAttackIgnored { get; }
IsAttacking
True if the character is attacking at the current frame
Declaration
public bool IsAttacking { get; }
IsChargingAttack
True if the character is charging attack at the current frame
Declaration
public bool IsChargingAttack { get; set; }
LastAttackCharged
True if the last performed attack is charged
Declaration
public bool LastAttackCharged { get; }
LastAttackFrame
The start frame of the last attack
Declaration
public int LastAttackFrame { get; }
LockFacingOnAttack
True if the character can not change it's facing direction when attacking
Declaration
public bool LockFacingOnAttack { get; set; }
MinimalChargeAttackDuration
Charge attack longer than this frame should be count as attack charged
Declaration
public int MinimalChargeAttackDuration { get; set; }
RepeatAttackWhenHolding
True if the character can hold attack button to keep attacking multiple times
Declaration
public bool RepeatAttackWhenHolding { get; set; }
Methods
Attack(bool, bool)
Perform an attack
Declaration
public virtual bool Attack(bool facingRight, bool charged = false)
Parameters
Type | Name | Description |
---|---|---|
bool | facingRight | True if the attack is performed when character facing right |
bool | charged | True if the attack is charged |
CancelAttack()
Cancel current performing attack
Declaration
public void CancelAttack()
CancelIgnoreAttack()
Allowing attack which ignored by IgnoreAttack function
Declaration
public void CancelIgnoreAttack()
IgnoreAimingDirection(Direction8, int)
Do not allow aiming at given direction for specified frames
Declaration
public void IgnoreAimingDirection(Direction8 dir, int duration = 1)
IgnoreAttack(int)
Do not allow attack for specified frames
Declaration
public void IgnoreAttack(int duration = 1)
IsAimingDirectionIgnored(Direction8)
True if the given aiming direction is currently ignored
Declaration
public bool IsAimingDirectionIgnored(Direction8 dir)
OnActivated()
Callback for character entity get activated
Declaration
public virtual void OnActivated()
PhysicsUpdate_Attack()
Callback for update the attackness
Declaration
public virtual void PhysicsUpdate_Attack()