void AShooterWeapon::SetWeaponState(EWeaponState::Type NewState)
{
	const EWeaponState::Type PrevState = CurrentState;

	if (PrevState == EWeaponState::Firing && NewState != EWeaponState::Firing)
	{
		OnBurstFinished();
	}

	CurrentState = NewState;

	if (PrevState != EWeaponState::Firing && NewState == EWeaponState::Firing)
	{
		OnBurstStarted();
	}
}
Ejemplo n.º 2
0
void ASWeapon::SetWeaponState(EWeaponState inNewState)
{
	const EWeaponState prevState = CurrentState;

	if ((prevState == EWeaponState::Firing) && (inNewState != EWeaponState::Firing))
	{
		OnBurstFinished();
	}

	CurrentState = inNewState;

	if ((prevState != EWeaponState::Firing) && (inNewState == EWeaponState::Firing))
	{
		OnBurstStarted();
	}
}
void AMagicBattleSoccerWeapon::SetWeaponState(EWeaponState NewState)
{
	const EWeaponState PrevState = LocalState;

	if (PrevState == EWeaponState::Firing && NewState != EWeaponState::Firing)
	{
		OnBurstFinished();
	}

	LocalState = NewState;

	if (ROLE_Authority == Role)
	{
		ServerState = NewState;
	}

	if (PrevState != EWeaponState::Firing && NewState == EWeaponState::Firing)
	{
		OnBurstStarted();
	}
}