latest changes

This commit is contained in:
2022-04-18 09:34:08 +07:00
parent 1691020ece
commit 29fec74bd4
35 changed files with 742 additions and 4025 deletions

View File

@ -1,14 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using UnityEditorInternal;
using Unity.MLAgents;
using UnityEngine;
public class GameManager : MonoBehaviour
{
private static GameManager instance;
public static GameManager Instance { get { return instance; } }
private static SimpleMultiAgentGroup DefendersTeam = new SimpleMultiAgentGroup();
private static SimpleMultiAgentGroup AttackersTeam = new SimpleMultiAgentGroup();
private void Awake()
{
if (Instance == null)
@ -21,13 +21,36 @@ public class GameManager : MonoBehaviour
{
GlobalEventManager.onCaptureFlag += flagCaptured;
GlobalEventManager.onTimeLeft += timeOut;
var agents = GameObject.FindObjectsOfType<Agent>();
foreach (var item in agents)
{
var agent = item as NPC;
if (agent.GetCharacter.Team == Team.Attackers)
AttackersTeam.RegisterAgent(agent);
else
DefendersTeam.RegisterAgent(agent);
}
}
private void Update()
public static bool IsCloserToEnemyThanToNextNavPoint(NavPoint navPoint, Vector3 currentTransform, Team team)
{
SimpleMultiAgentGroup agentGroup;
if (team == Team.Attackers)
agentGroup = AttackersTeam;
else
agentGroup = DefendersTeam;
var distToNavPoint = (currentTransform - navPoint.position).magnitude;
foreach (var agent in agentGroup.GetRegisteredAgents())
if (distToNavPoint > (currentTransform - agent.transform.position).magnitude)
return true;
return false;
}
public static bool IsCloserToFlagFromNextNavPoint(NavPoint navPoint, Vector3 currentTransform)
=> navPoint.FlagDistance < (currentTransform - GameObject.FindGameObjectWithTag("Flag").transform.position).magnitude;
private void flagCaptured(Team team)
{
switch(team)

View File

@ -6,12 +6,14 @@ public class MapManager : MonoBehaviour
public static List<NavPoint> navPoints { get; private set; }
private void Start()
{
var i = 0;
navPoints = new List<NavPoint>();
var navPointsGameObj = GameObject.FindGameObjectsWithTag("Point");
foreach (var gameobj in navPointsGameObj)
{
Debug.Log(" a ");
navPoints.Add(gameobj.GetComponent<NavPoint>());
var navpoint = gameobj.GetComponent<NavPoint>();
navpoint.PointId = i; i++;
navPoints.Add(navpoint);
}
}
}

View File

@ -4,8 +4,10 @@ using UnityEngine;
public class TimeManager : MonoBehaviour
{
public static TimeManager instance = null;
public float CurrentTime;
private static TimeManager instance;
public static TimeManager Instance { get { return instance; } }
public float CurrentTime { get; private set; }
void Start()
{
if (instance == null)