Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
weaponfireandchambernextfrominnermag.c
Go to the documentation of this file.
1
class
WeaponFireAndChamberNextFromInnerMag
extends
WeaponStateBase
2
{
3
WeaponActions
m_action
;
4
int
m_actionType;
5
6
float
m_dtAccumulator
;
7
ref WeaponFire m_fire;
8
9
void
WeaponFireAndChamberNextFromInnerMag
(
Weapon_Base
w = NULL,
WeaponStateBase
parent = NULL,
WeaponActions
action =
WeaponActions
.NONE,
int
actionType = -1)
10
{
11
m_action
= action;
12
m_actionType
= actionType;
13
14
// setup nested state machine
15
m_fire
=
new
WeaponFireAndChamber(
m_weapon
,
this
,
m_action
,
m_actionType
);
16
17
// events
18
WeaponEventBase
_fin_ =
new
WeaponEventHumanCommandActionFinished;
19
WeaponEventAnimBulletEject __be_ =
new
WeaponEventAnimBulletEject;
20
WeaponEventReloadTimeout __to_ =
new
WeaponEventReloadTimeout;
21
22
m_fsm
=
new
WeaponFSM
(
this
);
// @NOTE: set owner of the submachine fsm
23
24
// transitions
25
m_fsm
.AddTransition(
new
WeaponTransition
(
m_fire
, _fin_, NULL));
26
m_fsm
.AddTransition(
new
WeaponTransition
(
m_fire
, __to_, NULL));
27
28
m_fsm
.SetInitialState(
m_fire
);
29
}
30
31
override
void
OnEntry
(
WeaponEventBase
e)
32
{
33
super.OnEntry(e);
34
if
(e)
35
m_dtAccumulator
= 0;
36
}
37
38
override
void
OnUpdate
(
float
dt)
39
{
40
m_dtAccumulator
+= dt;
41
DayZPlayer
p;
42
Class
.
CastTo
(p,
m_weapon
.GetHierarchyParent());
43
if
( p )
44
{
45
HumanInputController
hic = p.GetInputController();
46
47
int
muzzleIndex =
m_weapon
.GetCurrentMuzzle();
48
float
reloadTime =
m_weapon
.GetReloadTime(muzzleIndex);
49
if
( hic.
IsAttackButton
() &&
m_dtAccumulator
>= reloadTime)
50
if
(
m_weapon
.CanProcessWeaponEvents())
51
m_weapon
.ProcessWeaponEvent(
new
WeaponEventReloadTimeout(p));
52
}
53
}
54
55
override
void
OnExit
(
WeaponEventBase
e)
56
{
57
m_dtAccumulator
= 0;
58
super.OnExit(e);
59
}
60
};
61
62
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
DayZPlayer
Definition
dayzplayerimplement.c:87
HumanInputController
Definition
human.c:18
HumanInputController::IsAttackButton
proto native bool IsAttackButton()
returns true if 'UAFire' button is pressed (== true for multiple ticks). Synced.
Weapon_Base
shorthand
Definition
boltactionrifle_base.c:6
WeaponEventBase
signalize mechanism manipulation
Definition
events.c:35
WeaponFSM
weapon finite state machine
WeaponStateBase
represent weapon state base
Definition
bullethide.c:2
WeaponStateBase::m_weapon
Weapon_Base m_weapon
Definition
weaponstatebase.c:12
WeaponStateBase::OnEntry
override void OnEntry(WeaponEventBase e)
Definition
weaponfireandchambernextfrominnermag.c:31
WeaponStateBase::m_fsm
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
Definition
weaponstatebase.c:14
WeaponStateBase::WeaponFireAndChamberNextFromInnerMag
void WeaponFireAndChamberNextFromInnerMag(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
Definition
weaponfireandchambernextfrominnermag.c:9
WeaponStateBase::m_dtAccumulator
float m_dtAccumulator
Definition
weaponfireandchambernext.c:6
WeaponStateBase::WeaponStateBase
void WeaponStateBase(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
internal state id used for load/restore
Definition
weaponstatebase.c:17
WeaponStateBase::OnExit
override void OnExit(WeaponEventBase e)
Definition
weaponfireandchambernextfrominnermag.c:55
WeaponStateBase::m_actionType
int m_actionType
action to be played
Definition
riflechambering.c:4
WeaponStateBase::OnUpdate
override void OnUpdate(float dt)
Definition
weaponfireandchambernextfrominnermag.c:38
WeaponStateBase::m_action
WeaponActions m_action
Definition
riflechambering.c:3
WeaponStateBase::m_fire
ref WeaponFire m_fire
Definition
weaponfireandchambernext.c:7
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
WeaponActions
WeaponActions
actions
Definition
human.c:816
WeaponTransition
enum FSMTransition WeaponTransition
m_action
class WeaponEndAction extends WeaponStartAction m_action
m_dtAccumulator
class WeaponFireWithEject extends WeaponFire m_dtAccumulator
Games
Dayz
scripts
4_world
entities
firearms
fsm
states
weaponfireandchambernextfrominnermag.c
Generated by
1.17.0