DayZ 1.24
|
Go to the source code of this file.
Enumerations | |
enum | MuzzleState { U = -1 , E = 0 , F = 1 , L = 2 } |
Functions | |
void | WeaponStableState (Weapon_Base w=NULL, WeaponStateBase parent=NULL, int anim_state=-1) |
void | SyncAnimState () |
override void | OnEntry (WeaponEventBase e) |
override void | OnUpdate (float dt) |
override void | OnExit (WeaponEventBase e) |
override bool | IsIdle () |
int | GetCurrentStateID () |
Weapon state properties | |
Properties defining the state in several properties for other systems Override these to set them up Several systems depends on this: WeaponFSM.RandomizeFSMState, which picks out a suitable FSM state when attaching magazine through CE WeaponFSM.ValidateAndRepair, which will attempt to identify a desync and repair the FSM state if so @WARNING So it is important to set these up correctly to prevent any desync of weapon FSM and actual wepon state | |
bool | IsRepairEnabled () |
Whether WeaponFSM.ValidateAndRepair should be applied on this state @NOTE: This property was implemented at the same time as ValARep To have it disabled by default In case there are modders who created their own state But potentially did not set up their properties correctly As having ValARep run on an improper setup would result in horrible VME spam and desync @WARNING: When enabling repair, it is imperative that all properties are set up correctly. | |
bool | HasBullet () |
Whether there is a bullet in the chamber @NOTE: This should only be false when it is empty So this is true when there is a bullet in the chamber Regardless of the bullet being loaded, firedout or jammed. | |
bool | HasMagazine () |
Whether there is a magazine attached. | |
bool | IsJammed () |
Whether the gun is jammed. | |
bool | IsDischarged () |
Whether the gun is discharged. | |
bool | IsWeaponOpen () |
Whether the gun is open. | |
void | InitMuzzleArray () |
Override with the filling of m_muzzleHasBullet. | |
bool | IsSingleState () |
Special one for when the weapon only has one singular state (like Magnum) | |
Weapon state properties helpers | |
Several helpers for better access of certain properties | |
MuzzleState | GetMuzzleState (int idx) |
Get chamber state of the muzzle at index. | |
int | GetMuzzleStateCount () |
bool | IsChamberValid (int idx) |
bool | IsChamberFiredOut (int idx) |
bool | IsChamberFull (int idx) |
void | ValidateMuzzleArray () |
Safety check and error message in case not set up correctly. | |
Variables | |
enum MuzzleState | m_animState |
ref array< MuzzleState > | m_muzzleHasBullet = new array<MuzzleState>() |
int GetCurrentStateID | ( | ) |
Definition at line 91 of file WeaponStableState.c.
MuzzleState GetMuzzleState | ( | int | idx | ) |
Get chamber state of the muzzle at index.
Definition at line 148 of file WeaponStableState.c.
References m_muzzleHasBullet.
int GetMuzzleStateCount | ( | ) |
bool HasBullet | ( | ) |
Whether there is a bullet in the chamber @NOTE: This should only be false when it is empty So this is true when there is a bullet in the chamber Regardless of the bullet being loaded, firedout or jammed.
Definition at line 120 of file WeaponStableState.c.
bool HasMagazine | ( | ) |
Whether there is a magazine attached.
Definition at line 123 of file WeaponStableState.c.
void InitMuzzleArray | ( | ) |
Override with the filling of m_muzzleHasBullet.
Definition at line 135 of file WeaponStableState.c.
References m_muzzleHasBullet.
Definition at line 151 of file WeaponStableState.c.
References m_muzzleHasBullet.
Referenced by DoubleBarrel_Base::CanChamberBullet(), Weapon_Base::CanChamberBullet(), Weapon::CanChamberBullet(), Weapon::CanFire(), Weapon::GetMuzzleStates(), and Weapon_Base::ShowBullet().
Definition at line 152 of file WeaponStableState.c.
References m_muzzleHasBullet.
Referenced by Weapon::CanChamberBullet(), Weapon_Base::CanEjectBullet(), Weapon::ForceSyncSelectionState(), Weapon::GetMuzzleStates(), and InventoryItemSuper::IsChamberFullEx().
bool IsDischarged | ( | ) |
Whether the gun is discharged.
Definition at line 129 of file WeaponStableState.c.
Definition at line 89 of file WeaponStableState.c.
Referenced by Weapon::CanRemoveFromHands(), and ManBase::OnQuickBarSingleUse().
bool IsJammed | ( | ) |
bool IsRepairEnabled | ( | ) |
Whether WeaponFSM.ValidateAndRepair should be applied on this state @NOTE: This property was implemented at the same time as ValARep To have it disabled by default In case there are modders who created their own state But potentially did not set up their properties correctly As having ValARep run on an improper setup would result in horrible VME spam and desync @WARNING: When enabling repair, it is imperative that all properties are set up correctly.
Definition at line 113 of file WeaponStableState.c.
bool IsSingleState | ( | ) |
Special one for when the weapon only has one singular state (like Magnum)
Definition at line 138 of file WeaponStableState.c.
Referenced by ValidateMuzzleArray().
bool IsWeaponOpen | ( | ) |
override void OnEntry | ( | WeaponEventBase | e | ) |
Definition at line 70 of file WeaponStableState.c.
References m_weapon, and SyncAnimState().
override void OnExit | ( | WeaponEventBase | e | ) |
Definition at line 78 of file WeaponStableState.c.
References SyncAnimState().
void SyncAnimState | ( | ) |
Definition at line 39 of file WeaponStableState.c.
References Class::CastTo(), fsmDebugSpam(), LogManager::IsWeaponLogEnable(), m_animState, m_weapon, and HumanCommandWeapons::StaticSetInitState().
Referenced by HandStateBase::OnEntry(), OnEntry(), HandStateBase::OnUpdate(), and OnUpdate().
void ValidateMuzzleArray | ( | ) |
Safety check and error message in case not set up correctly.
Definition at line 157 of file WeaponStableState.c.
References ErrorEx, IsSingleState(), and m_muzzleHasBullet.
Referenced by WeaponStableState().
void WeaponStableState | ( | Weapon_Base | w = NULL, |
WeaponStateBase | parent = NULL, | ||
int | anim_state = -1 ) |
Definition at line 32 of file WeaponStableState.c.
References WeaponStableState::InitMuzzleArray(), m_animState, and ValidateMuzzleArray().
Referenced by Weapon_Base::InitStateMachine().
enum MuzzleState m_animState |
Referenced by SyncAnimState(), and WeaponStableState().
ref array<MuzzleState> m_muzzleHasBullet = new array<MuzzleState>() |
Definition at line 30 of file WeaponStableState.c.
Referenced by GetMuzzleState(), GetMuzzleStateCount(), InitMuzzleArray(), WeaponStableState::InitMuzzleArray(), WeaponStateJammed::InitMuzzleArray(), IsChamberFiredOut(), IsChamberFull(), IsChamberValid(), and ValidateMuzzleArray().