示例#1
0
    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();
    }
示例#2
0
    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();
        }
    }