Beispiel #1
0
        private void BuildDecksOnLoadGame(EncounterManagerDto emDto)
        {
            var encounterStore = FindObjectOfType <EncounterStore>();

            _usedEncounters = new List <Encounter>();

            var normalEncounterSize = emDto.NormalDeck.Size;

            if (normalEncounterSize > 0)
            {
                _normalEncounterDeck = new EncounterDeck(encounterStore.GetNormalEncounters(), normalEncounterSize, _usedEncounters);
                _normalEncounterDeck.Shuffle();
            }

            _campingDeck = new EncounterDeck(encounterStore.GetCampingEncounters(), emDto.CampingDeck.Size, _usedEncounters);

            if (GameManager.Instance.InCombat())
            {
                PauseTimer();
            }
            else
            {
                ResetTimer();
                ResumeTimer();

                var travelManager = FindObjectOfType <TravelManager>();
                travelManager.PlayTravelMusic();
            }
        }
Beispiel #2
0
        private void BuildTestDeck()
        {
            var encounterStore = FindObjectOfType <EncounterStore>();

            var testEncounters = encounterStore.GetTestEncounters();

            _usedEncounters = new List <Encounter>();

            _testDeck = new EncounterDeck(testEncounters, testEncounters.Count, _usedEncounters);

            _testDeck.Shuffle();
        }
Beispiel #3
0
        public void BuildDecksForNewDay()
        {
            var encounterStore = FindObjectOfType <EncounterStore>();

            if (UseTestDeck)
            {
                BuildTestDeck();
            }
            else
            {
                var normalEncounterSize = 3;

                const int extraEncounterChance = 5;

                //todo diceroller
                var roll = Random.Range(1, 101);

                if (roll <= extraEncounterChance)
                {
                    normalEncounterSize++;
                }

                if (_usedEncounters == null)
                {
                    _usedEncounters = new List <Encounter>();
                }

                _normalEncounterDeck = new EncounterDeck(encounterStore.GetNormalEncounters(), normalEncounterSize, _usedEncounters);

                var combatEncounters = encounterStore.GetCombatEncounters();

                _normalEncounterDeck.AddCard(combatEncounters[Random.Range(0, combatEncounters.Count)]);

                _normalEncounterDeck.Shuffle();
            }

            if (_campingDeck == null || _campingDeck.Size < 1)
            {
                _campingDeck = new EncounterDeck(encounterStore.GetCampingEncounters(), 5, _usedEncounters);
            }

            if (_encounterInProgress)
            {
                return;
            }

            ResetTimer();
            ResumeTimer();
        }