Example #1
0
    public int GetThreatLevel()
    {
        bool dandelion = false;
        bool crimson   = false;

        foreach (Area area in AreaTracker.GetVisitedAreas())
        {
            if (area.GetName() == "Dandelion")
            {
                dandelion = true;
            }
            else if (area.GetName() == "Crimson")
            {
                crimson = true;
            }
        }

        if (crimson && dandelion)
        {
            return(2);
        }
        else if (crimson || dandelion)
        {
            return(1);
        }
        else
        {
            return(0);
        }
    }
Example #2
0
 // Use this for initialization
 void Start()
 {
     selected      = false;
     m_renderer    = GetComponent <MeshRenderer>();
     originalColor = m_renderer.material.color;
     channels      = FindObjectOfType <ChannelController>();
     areaTracker   = this.transform.parent.GetComponent <AreaTracker>();
     areaTracker.ShowLeaf();
 }
Example #3
0
    private void GoToNextPoint()
    {
        if (AreaTracker.GetCurrentPlayerArea() != null && AreaTracker.GetCurrentEnemyArea() != null)
        {
            if (_controller.GetThreatLevel() > 0 && AreaTracker.GetCurrentEnemyArea() != AreaTracker.GetCurrentPlayerArea())
            {
                _controller.navMeshAgent.Warp(_controller.GetSpawnPointInArea(_controller.GetTargetArea()).position);
            }
        }

        _controller.navMeshAgent.SetDestination(_controller.GetWayPointInArea(_controller.GetTargetArea()).position);
    }
Example #4
0
 public void OnTriggerStay(Collider coll)
 {
     if (coll.CompareTag("Player"))
     {
         _visited = true;
         AreaTracker.SetCurrentPlayerArea(this);
     }
     else if (coll.CompareTag("Enemy"))
     {
         AreaTracker.SetCurrentEnemyArea(this);
     }
 }
Example #5
0
    public string GetTargetArea()
    {
        int threatLevel = GetThreatLevel();

        if (AreaTracker.GetCurrentPlayerArea() != null && AreaTracker.GetCurrentEnemyArea() != null)
        {
            if (threatLevel > 0 && AreaTracker.GetCurrentPlayerArea().GetName() != "Escape Pod")
            {
                return(AreaTracker.GetCurrentPlayerArea().GetName());
            }
            else if (threatLevel > 0)
            {
                return("Indigo");
            }
        }

        return("Dandelion");
    }
Example #6
0
 public void Awake()
 {
     AreaTracker.AddArea(this);
     GameManager.AddSaveEvent(Save);
     GameManager.AddLateReloadEvent(Reload);
 }