Перечисления | |
enum | MuzzleState { U = -1 , E = 0 , F = 1 , L = 2 } |
Функции | |
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. | |
Переменные | |
enum MuzzleState | m_animState |
ref array< MuzzleState > | m_muzzleHasBullet = new array<MuzzleState>() |