mirror of
https://github.com/GTA-ASM/SanAndreasUnity
synced 2025-02-16 21:08:28 +00:00
extract method
This commit is contained in:
parent
d37d601082
commit
03a0f5c35e
1 changed files with 23 additions and 18 deletions
|
@ -643,26 +643,31 @@ namespace SanAndreasUnity.Behaviours.Peds.States
|
||||||
{
|
{
|
||||||
if (buttonName == "G")
|
if (buttonName == "G")
|
||||||
{
|
{
|
||||||
// try to recruit peds to follow you
|
RecruitPedUnderWeaponToFollowPed(m_ped);
|
||||||
if (m_weapon != null)
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RecruitPedUnderWeaponToFollowPed(Ped pedToFollow)
|
||||||
|
{
|
||||||
|
// try to recruit peds to follow you
|
||||||
|
if (pedToFollow.CurrentWeapon != null)
|
||||||
|
{
|
||||||
|
if (pedToFollow.CurrentWeapon.ProjectileRaycast(
|
||||||
|
pedToFollow.IsControlledByLocalPlayer ? pedToFollow.FirePosition : pedToFollow.NetFirePos,
|
||||||
|
pedToFollow.IsControlledByLocalPlayer ? pedToFollow.FireDirection : pedToFollow.NetFireDir,
|
||||||
|
out RaycastHit hit,
|
||||||
|
WeaponAttackParams.Default))
|
||||||
{
|
{
|
||||||
if (m_weapon.ProjectileRaycast(
|
// see if ped is hit
|
||||||
m_ped.IsControlledByLocalPlayer ? m_ped.FirePosition : m_ped.NetFirePos,
|
var hitPed = hit.transform.GetComponent<Ped>();
|
||||||
m_ped.IsControlledByLocalPlayer ? m_ped.FireDirection : m_ped.NetFireDir,
|
if (hitPed != null && hitPed != pedToFollow && null == hitPed.PlayerOwner)
|
||||||
out RaycastHit hit,
|
|
||||||
WeaponAttackParams.Default))
|
|
||||||
{
|
{
|
||||||
// see if ped is hit
|
// ray hit a ped who is not controlled by any player
|
||||||
var ped = hit.transform.GetComponent<Ped>();
|
var pedStalker = hitPed.gameObject.GetOrAddComponent<PedStalker>();
|
||||||
if (ped != null && ped != m_ped && null == ped.PlayerOwner)
|
if (pedStalker.TargetPed == pedToFollow)
|
||||||
{
|
pedStalker.TargetPed = null;
|
||||||
// ray hit a ped who is not controlled by any player
|
else
|
||||||
var pedStalker = ped.gameObject.GetOrAddComponent<PedStalker>();
|
pedStalker.TargetPed = pedToFollow;
|
||||||
if (pedStalker.TargetPed == m_ped)
|
|
||||||
pedStalker.TargetPed = null;
|
|
||||||
else
|
|
||||||
pedStalker.TargetPed = m_ped;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue