to new git

This commit is contained in:
2022-05-04 23:50:07 +07:00
parent 290f5515b7
commit c8af0e5284
39 changed files with 720 additions and 359 deletions

View File

@ -3,17 +3,62 @@ using UnityEngine;
public class MapManager : MonoBehaviour
{
public static List<NavPoint> navPoints { get; private set; }
private void Start()
private static MapManager instance;
public static MapManager Instance => instance;
private static List<NavPoint> navPoints = new List<NavPoint>();
private static Dictionary<int, NavPoint> iDToNavPoint = new Dictionary<int, NavPoint>();
public static List<NavPoint> NavPoints { get => navPoints; private set => navPoints = value; }
public static Dictionary<int, NavPoint> IDToNavPoint { get => iDToNavPoint; private set => iDToNavPoint = value; }
private void Awake()
{
var i = 0;
navPoints = new List<NavPoint>();
var navPointsGameObj = GameObject.FindGameObjectsWithTag("Point");
foreach (var gameobj in navPointsGameObj)
if (instance is null)
instance = this;
else
{
var navpoint = gameobj.GetComponent<NavPoint>();
navpoint.PointId = i; i++;
navPoints.Add(navpoint);
Destroy(gameObject);
Debug.LogError("Only 1 Instance");
}
}
private void Start()
{
var navPointSet = GameObject.Find("NavPoint Set");
var count = navPointSet.transform.childCount;
for (int i=0; i < count; i++)
NavPoints.Add(navPointSet.transform.GetChild(i)
.gameObject.GetComponent<NavPoint>());
NavPointSetToID();
}
private void NavPointSetToID()
{
int i = 0;
foreach (var navPoint in NavPoints)
{
IDToNavPoint.Add(i, navPoint);
navPoint.PointId = i;
i++;
}
}
public static void AddDeathAttributeToPoints(int startPoint, int endPoint,
float allDistance, float remainingDistance)
{
var startNavPoint = IDToNavPoint[startPoint];
var endNavPoint = IDToNavPoint[endPoint];
float coef;
try
{
coef = remainingDistance / allDistance;
}
catch (System.ArithmeticException)
{
Debug.LogError("Path Length is zero");
return;
}
startNavPoint.DeathAttr += 1 - coef;
endNavPoint.DeathAttr += coef;
}
}