DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ WeaponMagnumChambering()

void WeaponStateBase::WeaponMagnumChambering ( Weapon_Base w = NULL,
WeaponStateBase parent = NULL,
WeaponActions action = WeaponActions.NONE,
int startActionType = -1,
int endActionType = -1 )
inlineprivate

См. определение в файле WeaponChambering.c строка 1114

1115 {
1116 m_action = action;
1117 m_startActionType = startActionType;
1118 m_endActionType = endActionType;
1119
1120 // setup nested state machine
1121 m_start = new WeaponChambering_Start(m_weapon, this, m_action, m_startActionType);
1123 m_rotate = new WeaponCylinderRotate(m_weapon, this);
1124 m_chamber = new WeaponChambering_MultiMuzzleMagnum(m_weapon, this);
1125 m_w4sb2 = LoopedChambering_Wait4ShowBullet2(m_weapon, this);
1126 m_hideB = new BulletHide_W4T(m_weapon, this);
1127 m_endLoop = new LoopedChambering_EndLoop(m_weapon, this, m_action, m_endActionType); // @NOTE: termination playing action - dummy?
1128 // events
1129 WeaponEventBase _fin_ = new WeaponEventHumanCommandActionFinished;
1130 WeaponEventContinuousLoadBulletStart __lS_ = new WeaponEventContinuousLoadBulletStart;
1131 WeaponEventContinuousLoadBulletEnd __lE_ = new WeaponEventContinuousLoadBulletEnd;
1132 WeaponEventCylinderRotate __cr_ = new WeaponEventCylinderRotate;
1133 WeaponEventAnimBulletShow __bs_ = new WeaponEventAnimBulletShow;
1134 WeaponEventAnimBulletHide __bh_ = new WeaponEventAnimBulletHide;
1135 WeaponEventAnimBulletEject __be_ = new WeaponEventAnimBulletEject;
1136 WeaponEventAnimBulletInMagazine __bM_ = new WeaponEventAnimBulletInMagazine;
1137 WeaponEventAnimBulletShow2 _bs2_ = new WeaponEventAnimBulletShow2;
1138
1139 m_fsm = new WeaponFSM(this); // @NOTE: set owner of the submachine fsm
1140 m_fsm.AddTransition(new WeaponTransition(m_start, __be_, m_eject));
1141 m_fsm.AddTransition(new WeaponTransition(m_start, __cr_, m_rotate));
1142
1143 m_fsm.AddTransition(new WeaponTransition(m_eject, __cr_, m_rotate));
1144 m_fsm.AddTransition(new WeaponTransition(m_rotate, __be_, m_eject));
1145
1146 m_fsm.AddTransition(new WeaponTransition(m_eject, __bs_, m_chamber));
1147 m_fsm.AddTransition(new WeaponTransition(m_rotate, __bs_, m_chamber));
1148
1149 m_fsm.AddTransition(new WeaponTransition(m_chamber, __bM_, m_w4sb2, null, new GuardAnd(new GuardAnd(new WeaponGuardHasAmmoInLoopedState(m_chamber), new WeaponGuardChamberMultiHasRoomBulltet(m_weapon)),new WeaponGuardWeaponManagerWantContinue())));
1150 m_fsm.AddTransition(new WeaponTransition(m_chamber, __bM_, m_endLoop));
1151 //m_fsm.AddTransition(new WeaponTransition(m_rotate, __bh_, m_chamber));
1152 //m_fsm.AddTransition(new WeaponTransition(m_w4sb2, __bh_, m_hideB));
1153 m_fsm.AddTransition(new WeaponTransition(m_w4sb2, __cr_, m_rotate));
1154
1155 m_fsm.AddTransition(new WeaponTransition(m_endLoop, _fin_, null));
1156
1157 // Safety exits
1158 m_fsm.AddTransition(new WeaponTransition(m_w4sb2, _fin_, null));
1159 m_fsm.AddTransition(new WeaponTransition(m_chamber, _fin_, null));
1160 m_fsm.AddTransition(new WeaponTransition(m_rotate, _fin_, null));
1161 m_fsm.AddTransition(new WeaponTransition(m_eject , _fin_, null));
1162 m_fsm.AddTransition(new WeaponTransition(m_start , _fin_, null));
1163
1164 m_fsm.SetInitialState(m_start);
1165 }
enum FSMTransition WeaponTransition
enum FSMTransition WeaponEventBase
ref BulletHide_W4T m_hideB
Определения RifleEjectCasing.c:8
ref WeaponCylinderRotate m_rotate
Определения WeaponChambering.c:1108
int m_startActionType
Определения WeaponChambering.c:1101
ref WeaponStartAction m_endLoop
Определения WeaponChambering.c:1111
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
Определения WeaponStateBase.c:14
ref LoopedChambering_Wait4ShowBullet2 m_w4sb2
Определения WeaponChambering.c:1110
WeaponActions m_action
Определения RifleChambering.c:3
Weapon_Base m_weapon
Определения WeaponStateBase.c:12
ref WeaponChambering_Cartridge m_chamber
Определения RifleChambering.c:9
ref WeaponStateBase m_start
source of the cartridge
Определения RifleChambering.c:7
ref WeaponEjectCasing m_eject
Определения RifleChambering.c:8
void WeaponEjectAllMuzzles(Weapon_Base w=NULL, WeaponStateBase parent=NULL)
int m_endActionType
Определения WeaponChambering.c:1102

Перекрестные ссылки m_action, m_chamber, m_eject, m_endActionType, m_endLoop, m_fsm, m_hideB, m_rotate, m_start, m_startActionType, m_w4sb2, m_weapon, WeaponEjectAllMuzzles() и WeaponStateBase().