public string getDescription()
    {
        string description = "Next " + encounters.Count + " encounters: ";

        for (int i = 0; i < encounters.Count; i++)
        {
            CampEncounter encounter        = encounters[i];
            string        eventDescription = "";
            if (encounter == CampEncounter.elite)
            {
                eventDescription = "elite";
            }
            else if (encounter == CampEncounter.basic)
            {
                eventDescription = "regular";
            }
            else if (encounter == CampEncounter.campFire)
            {
                eventDescription = "campfire";
            }
            else if (encounter == CampEncounter.campEvent)
            {
                eventDescription = "event";
            }
            description += (i + 1) + ") " + eventDescription;
            description += "\n";
        }
        return(description);
    }
Example #2
0
    public Fight getFight(CampEncounter campEncounter)
    {
        Fight fight = new Fight();

        if (campEncounter == CampEncounter.basic)
        {
            fight = easyFights[basicFightCounter];
            fight.cardOnComplete = true;
            basicFightCounter++;
            if (basicFightCounter > easyFights.Count - 1)
            {
                basicFightCounter = 0;
            }
        }
        else if (campEncounter == CampEncounter.elite)
        {
            fight = eliteFights[eliteFightCounter];
            fight.upgradeOnComplete = true;
            eliteFightCounter++;
            if (eliteFightCounter > eliteFights.Count - 1)
            {
                eliteFightCounter = 0;
            }
        }
        else
        {
            throw new System.Exception("invalid status enum provided: " + campEncounter);
        }
        return(fight);
    }
 public Event getEvent(CampEncounter campEncounter)
 {
     if (campEncounter == CampEncounter.campFire)
     {
         return(campFireEvent);
     }
     else
     {
         Event selected = campEvents[eventCounter];
         eventCounter++;
         if (eventCounter > campEvents.Count - 1)
         {
             eventCounter = 0;
         }
         return(selected);
     }
 }
Example #4
0
    public void startFight()
    {
        GameData           gameData     = GameData.getInstance();
        ContractGameObject currContract = gameData.currContractGameObject;

        if (gameData.currContractGameObject == null)
        {
            sceneUiManager.showCampScene();
            campService.enterCamp();
        }
        else
        {
            CampEncounter campEncounter = currContract.campContract.encounters[gameData.fightData.encounterCount];
            if (campEncounter == CampEncounter.campFire || campEncounter == CampEncounter.campEvent)
            {
                sceneUiManager.showCampScene();
                sceneUiManager.showEventScene();
                EventTypes eventTypes = new EventTypes(eventManagerService, playerService);
                Event      gameEvent  = eventManagerService.getEvent(campEncounter);
                eventManagerService.showEvent(gameEvent);
            }
            else
            {
                Fight fight = enemyManagerService.getFight(campEncounter);
                gameData.fightData.currentFight = fight;
                enemyManagerService.initializeEnemiesForFight(fight);

                playerService.startFight();
                deckService.startFight();

                upgradeService.triggerCombatStartActions();

                sceneUiManager.startFight();
            }

            gameData.fightData.encounterCount++;
            gameData.fightData.turnCount = 0;

            if (gameData.fightData.encounterCount == gameData.fightData.totalEncounterCount)
            {
                gameData.fightData.encounterCount = 0;
                gameData.currContractGameObject   = null;
            }
        }
    }