the initial commit to the repo.

This commit is contained in:
NukedBart 2025-10-25 01:27:14 +08:00
parent 025c032b8c
commit 1b757591b9
264 changed files with 21882 additions and 0 deletions

View file

@ -0,0 +1,240 @@
using System;
using EFT.Interactive;
using stupid.solutions.Utils;
using UnityEngine;
namespace stupid.solutions.Data;
internal class GameExfiltrationPoint
{
private Vector3 screenPosition;
public ExfiltrationPoint ExfiltrationPoint { get; }
public Vector3 ScreenPosition => screenPosition;
public bool IsOnScreen { get; private set; }
public float Distance { get; private set; }
public string Name { get; set; }
public string status { get; set; }
public string FormattedDistance => $"{Math.Round(Distance)}m";
public GameExfiltrationPoint(ExfiltrationPoint exfiltrationPoint)
{
if (exfiltrationPoint == null)
{
throw new ArgumentNullException("exfiltrationPoint");
}
ExfiltrationPoint = exfiltrationPoint;
screenPosition = default(Vector3);
Distance = 0f;
Name = ExtractionNameToSimpleName(exfiltrationPoint.Settings.Name.Localized()) ?? "";
}
public void RecalculateDynamics()
{
if (!(ExfiltrationPoint == null) && GameUtils.IsExfiltrationPointValid(ExfiltrationPoint))
{
screenPosition = GameUtils.WorldPointToScreenPoint(ExfiltrationPoint.transform.position);
IsOnScreen = GameUtils.IsScreenPointVisible(screenPosition);
Distance = Vector3.Distance(Main.MainCamera.transform.position, ExfiltrationPoint.transform.position);
if (ExfiltrationPoint.Status == EExfiltrationStatus.AwaitsManualActivation || ExfiltrationPoint.Status == EExfiltrationStatus.NotPresent)
{
status = "Closed";
}
else
{
status = "Open";
}
}
}
private string ExtractionNameToSimpleName(string extractionName)
{
if (extractionName.Contains("exit (3)"))
{
return "Cellars";
}
if (extractionName.Contains("exit (1)"))
{
return "Gate 3";
}
if (extractionName.Contains("exit (2)"))
{
return "Gate 0";
}
if (extractionName.Contains("exit_scav_gate3"))
{
return "Gate 3";
}
if (extractionName.Contains("exit_scav_camer"))
{
return "Blinking Light";
}
if (extractionName.Contains("exit_scav_office"))
{
return "Office";
}
if (extractionName.Contains("eastg"))
{
return "East Gate";
}
if (extractionName.Contains("scavh"))
{
return "House";
}
if (extractionName.Contains("deads"))
{
return "Dead Mans Place";
}
if (extractionName.Contains("var1_1_constant"))
{
return "Outskirts";
}
if (extractionName.Contains("scav_outskirts"))
{
return "Outskirts";
}
if (extractionName.Contains("water"))
{
return "Outskirts Water";
}
if (extractionName.Contains("boat"))
{
return "The Boat";
}
if (extractionName.Contains("mountain"))
{
return "Mountain Stash";
}
if (extractionName.Contains("oldstation"))
{
return "Old Station";
}
if (extractionName.Contains("UNroad"))
{
return "UN Road Block";
}
if (extractionName.Contains("var2_1_const"))
{
return "UN Road Block";
}
if (extractionName.Contains("gatetofactory"))
{
return "Gate to Factory";
}
if (extractionName.Contains("RUAF"))
{
return "RUAF Gate";
}
if (extractionName.Contains("roadtoc"))
{
return "Road to Customs";
}
if (extractionName.Contains("lighthouse"))
{
return "Lighthouse";
}
if (extractionName.Contains("tunnel"))
{
return "Tunnel";
}
if (extractionName.Contains("wreckedr"))
{
return "Wrecked Road";
}
if (extractionName.Contains("deadend"))
{
return "Dead End";
}
if (extractionName.Contains("housefence"))
{
return "Ruined House Fence";
}
if (extractionName.Contains("gyment"))
{
return "Gym Entrance";
}
if (extractionName.Contains("southfence"))
{
return "South Fence Passage";
}
if (extractionName.Contains("adm_base"))
{
return "Admin Basement";
}
if (extractionName.Contains("administrationg"))
{
return "Administration Gate";
}
if (extractionName.Contains("factoryfar"))
{
return "Factory Far Corner";
}
if (extractionName.Contains("oldazs"))
{
return "Old Gate";
}
if (extractionName.Contains("milkp_sh"))
{
return "Shack";
}
if (extractionName.Contains("beyondfuel"))
{
return "Beyond Fuel Tank";
}
if (extractionName.Contains("railroadtom"))
{
return "Railroad to Mil Base";
}
if (extractionName.Contains("_pay_car"))
{
return "V-Exit";
}
if (extractionName.Contains("oldroadgate"))
{
return "Old Road Gate";
}
if (extractionName.Contains("sniperroad"))
{
return "Sniper Road Block";
}
if (extractionName.Contains("warehouse17"))
{
return "Warehouse 17";
}
if (extractionName.Contains("factoryshacks"))
{
return "Factory Shacks";
}
if (extractionName.Contains("railroadtotarkov"))
{
return "Railroad to Tarkov";
}
if (extractionName.Contains("trailerpark"))
{
return "Trailer Park";
}
if (extractionName.Contains("crossroads"))
{
return "Crossroads";
}
if (extractionName.Contains("railroadtoport"))
{
return "Railroad to Port";
}
if (extractionName.Contains("NW_Exfil"))
{
return "North West Extract";
}
if (extractionName.Contains("SE_Exfil"))
{
return "Emmercom";
}
return extractionName;
}
}