the initial commit to the repo.
This commit is contained in:
parent
025c032b8c
commit
1b757591b9
264 changed files with 21882 additions and 0 deletions
75
EscapeFromTarkovCheat/Data/GamePlayer.cs
Normal file
75
EscapeFromTarkovCheat/Data/GamePlayer.cs
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using EFT;
|
||||
using EscapeFromTarkovCheat.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeFromTarkovCheat.Data
|
||||
{
|
||||
|
||||
public class GamePlayer
|
||||
{
|
||||
|
||||
public Player Player { get; }
|
||||
|
||||
public Vector3 ScreenPosition => screenPosition;
|
||||
|
||||
public Vector3 HeadScreenPosition => headScreenPosition;
|
||||
|
||||
public bool IsOnScreen { get; private set; }
|
||||
|
||||
public bool IsVisible { get; private set; }
|
||||
|
||||
public float Distance { get; private set; }
|
||||
|
||||
public bool IsAI { get; private set; }
|
||||
|
||||
public string FormattedDistance => $"{(int)Math.Round(Distance)}m";
|
||||
|
||||
private Vector3 screenPosition;
|
||||
private Vector3 headScreenPosition;
|
||||
|
||||
public GamePlayer(Player player)
|
||||
{
|
||||
if (player == null)
|
||||
throw new ArgumentNullException(nameof(player));
|
||||
|
||||
this.Player = player;
|
||||
screenPosition = default;
|
||||
headScreenPosition = default;
|
||||
IsOnScreen = false;
|
||||
Distance = 0f;
|
||||
IsAI = true;
|
||||
}
|
||||
public Vector3 GetBonePosition(BoneType boneType)
|
||||
{
|
||||
if (Player.PlayerBody?.SkeletonRootJoint?.Bones == null)
|
||||
return Vector3.zero;
|
||||
|
||||
Transform boneTransform = Player.PlayerBody.SkeletonRootJoint.Bones.ElementAtOrDefault((int)boneType).Value;
|
||||
|
||||
if (boneTransform == null)
|
||||
return Vector3.zero;
|
||||
|
||||
return GameUtils.WorldPointToScreenPoint(boneTransform.position);
|
||||
}
|
||||
|
||||
public void RecalculateDynamics()
|
||||
{
|
||||
if (!GameUtils.IsPlayerValid(Player))
|
||||
return;
|
||||
|
||||
screenPosition = GameUtils.WorldPointToScreenPoint(Player.Transform.position);
|
||||
|
||||
if (Player.PlayerBones != null)
|
||||
headScreenPosition = GameUtils.WorldPointToScreenPoint(Player.PlayerBones.Head.position);
|
||||
|
||||
IsOnScreen = GameUtils.IsScreenPointVisible(screenPosition);
|
||||
Distance = Vector3.Distance(Main.MainCamera.transform.position, Player.Transform.position);
|
||||
|
||||
if ((Player.Profile != null) && (Player.Profile.Info != null))
|
||||
IsAI = (Player.Profile.Info.RegistrationDate <= 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue