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); } }
// 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(); }
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); }
public void OnTriggerStay(Collider coll) { if (coll.CompareTag("Player")) { _visited = true; AreaTracker.SetCurrentPlayerArea(this); } else if (coll.CompareTag("Enemy")) { AreaTracker.SetCurrentEnemyArea(this); } }
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"); }
public void Awake() { AreaTracker.AddArea(this); GameManager.AddSaveEvent(Save); GameManager.AddLateReloadEvent(Reload); }