private void Start() { theCastle = GameObject.Find("The Castle").GetComponent <EncounterSite>(); rosta = GameObject.Find("PlayerData" + "(Clone)").GetComponent <RostaInfo>(); if (rosta == null) { Debug.LogError("Encounter could not find the player data"); } if (RostaInfo.currentEncounter != null) { if (RostaInfo.currentEncounter.completionState == Encounter.CompletionState.VICTORY) { MapUIManager.RequestAlert(RostaInfo.currentEncounter.victoryMapText, "Return"); RostaInfo.currentEncounter.selectedCompany.targetEncounter = null; RostaInfo.currentEncounter.site.encounter = null; RostaInfo.encounters.Remove(RostaInfo.currentEncounter); } else if (RostaInfo.currentEncounter.completionState == Encounter.CompletionState.DEFEAT) { MapUIManager.RequestAlert(RostaInfo.currentEncounter.defeatMapText, "Return"); RostaInfo.currentEncounter.selectedCompany.targetEncounter = null; RostaInfo.currentEncounter.selectedCompany = null; RostaInfo.currentEncounter.completionState = Encounter.CompletionState.UNASSIGNED; } } foreach (Encounter e in RostaInfo.encounters) { e.GetReferences(); e.runCompanySelectSetUp = false; e.site = GameObject.Find(e.site.SiteName).GetComponent <EncounterSite>(); e.site.encounter = e; e.site.ShowEncounter(); } for (int i = RostaInfo.companies.Count - 1; i >= 0; i--) { if (RostaInfo.companies[i].units.Count == 0) { RostaInfo.companies.RemoveAt(i); } else { RostaInfo.companies[i].CreateCompany(); } } date.text = ("Day " + RostaInfo.date); CheckForAvailableEncounters(); }
void FindLocation(Encounter encounter) { List <EncounterSite> availableSites = encounter.FindSuitableSites(); if (availableSites.Count == 0) { Debug.LogWarning("no available site found"); } else { EncounterSite selectedSite = availableSites[UnityEngine.Random.Range(0, availableSites.Count)]; selectedSite.encounter = encounter; encounter.site = selectedSite; encounter.SetEncounterData(); } }