package playerStateMachineCrosshair

safe : baseCrosshairState
{
	bool hasEnterCondition = true;
	bool hasExitCondition = true;
	string scriptedDecisionsClassName = "SafeCrosshairStateDecisions";
	string scriptedEventsClassName = "SafeCrosshairStateEvents";
	string[] transitionTo = 
	[
		"quickHack", "aim", "reload", "reloadDriverCombatMountedWeapons", "sprint", "hipfire", "grenadeCharging", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", "", ""
	];
}

scanning : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"Vision.active"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"Vision.inactive"
	];
	bool[] exitConstraintsLogic = 
	[
		true
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "reload", "reloadDriverCombatMountedWeapons", "sprint", "hipfire", "grenadeCharging", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", ""
	];
}

grenadeCharging : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"CombatGadget.combatGadgetCharge"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"CombatGadget.combatGadgetCharge"
	];
	bool[] exitConstraintsLogic = 
	[
		false
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "reload", "sprint", "hipfire", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", ""
	];
}

aim : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"UpperBody.aimingState"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"UpperBody.aimingState"
	];
	bool[] exitConstraintsLogic = 
	[
		false
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "reload", "reloadDriverCombatMountedWeapons", "sprint", "hipfire", "grenadeCharging", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", "", ""
	];
}

reload : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"Weapon.reload"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"Weapon.reload"
	];
	bool[] exitConstraintsLogic = 
	[
		false
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "aim", "sprint", "hipfire", "grenadeCharging", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", ""
	];
}

reloadDriverCombatMountedWeapons : baseCrosshairState
{
	bool hasEnterCondition = true;
	bool hasExitCondition = true;
	string scriptedDecisionsClassName = "DriverCombatMountedWeaponsReloadCrosshairStateDecisions";
	string scriptedEventsClassName = "DriverCombatMountedWeaponsReloadCrosshairStateEvents";
	string[] transitionTo = 
	[
		"quickHack", "safe", "aim", "hipfire", "scanning"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", ""
	];
}

sprint : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"Locomotion.sprint"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"Locomotion.sprint"
	];
	bool[] exitConstraintsLogic = 
	[
		false
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "aim", "reload", "hipfire", "grenadeCharging", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", ""
	];
}

hipfire : baseCrosshairState
{
	string[] transitionTo = 
	[
		"quickHack", "safe", "aim", "reload", "reloadDriverCombatMountedWeapons", "sprint", "grenadeCharging", "scanning", "leftHandCyberware"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", "", "", ""
	];
}

leftHandCyberware : baseCrosshairState
{
	string[] enterConstraintsStates = 
	[
		"LeftHandCyberware.leftHandCyberwareEquip"
	];
	bool[] enterConstraintsLogic = 
	[
		true
	];
	string[] exitConstraintsStates = 
	[
		"LeftHandCyberware.leftHandCyberwareUnequip"
	];
	bool[] exitConstraintsLogic = 
	[
		true
	];
	string[] transitionTo = 
	[
		"quickHack", "safe", "reload", "sprint", "hipfire", "scanning"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", ""
	];
}

quickHack : baseCrosshairState
{
	bool hasEnterCondition = true;
	bool hasExitCondition = true;
	string scriptedDecisionsClassName = "QuickHackCrosshairStateDecisions";
	string scriptedEventsClassName = "QuickHackCrosshairStateEvents";
	string[] transitionTo = 
	[
		"quickHack", "safe", "reload", "reloadDriverCombatMountedWeapons", "sprint", "hipfire", "scanning"
	];
	string[] transitionCondition = 
	[
		"", "", "", "", "", "", ""
	];
}

