コード例 #1
0
        public override void PerformSetup(Context context, IState previousState)
        {
            base.PerformSetup(context, previousState);

            _partyDataWrapper = context.Get <PartyDataWrapper>();

            EnemyDefinitionsById = CombatSettings.Enemies.ToDictionary(
                x => x.Id,
                x => HackUtil.GetDefinition <EnemyDefinition>(x.Class.Id));

            PlayerController = new PlayerCharacterController(_partyDataWrapper);
            PlayerController.CombatCompleteSignal.Listen(OnCombatComplete);
            PlayerController.GameStateUpdatedSignal.Listen(OnGameStateUpdated);
            PlayerController.ActiveCharacterChanged += OnActiveCharacterChanged;

            List <IParty> partiesInCombat = new List <IParty>(2);

            partiesInCombat.Add(new Party(
                                    PlayerController.PartyId,
                                    PlayerController,
                                    _partyDataWrapper.Characters));

            foreach (var partyGroup in CombatSettings.Enemies.GroupBy(x => x.Party))
            {
                partiesInCombat.Add(new Party(
                                        partyGroup.Key,
                                        CombatSettings.AI,
                                        partyGroup.ToArray()));
            }

            _combatManager = new CombatManager(
                partiesInCombat,
                PlayerController.GameStateUpdatedSignal,
                PlayerController.CombatCompleteSignal);
        }
コード例 #2
0
        public override void PerformSetup(Context context, IState previousState)
        {
            base.PerformSetup(context, previousState);

            Party         = context.Get <PartyDataWrapper>();
            _stateMachine = context.Get <IStateMachine>();

            // Check for Time/Day Increment
            if (!(previousState is StartupState))
            {
                HandleDayTimeIncrement();
            }

            // Determine Event Options
            DetermineEventOptions();
        }
コード例 #3
0
        public override void PerformSetup(Context context, IState previousState)
        {
            PartyDataWrapper  party      = context.Get <PartyDataWrapper>();
            FirebaseWrapper   fbWrapper  = context.Get <FirebaseWrapper>();
            PlayerDataWrapper playerData = context.Get <PlayerDataWrapper>();

            playerData.SetActiveParty(0u);

            fbWrapper.WriteData(playerData.GetDataPath(fbWrapper.UserId), playerData);

            _context.Clear <PartyDataWrapper>();

            Calamity            = party.Calamity;
            SurvivingCharacters = party.Characters.FindAll(x => x.IsAlive());
            FallenCharacters    = party.Characters.FindAll(x => !x.IsAlive());
        }