示例#1
0
        public async Task Configure()
        {
            InitializeDatabase();
            CachedData.Initialize();
            await ScriptProvider.Initialize();

            await LootProvider.Initialize();
        }
示例#2
0
        public GameContext([NotNull] LevelData level,
                           [NotNull] GameService gameService,
                           [NotNull] CombatManager combatManager,
                           [NotNull] LootProvider lootProvider,
                           [NotNull] IRandomization randomizer)
        {
            GameService   = gameService ?? throw new ArgumentNullException(nameof(gameService));
            CombatManager = combatManager ?? throw new ArgumentNullException(nameof(combatManager));
            LootProvider  = lootProvider ?? throw new ArgumentNullException(nameof(lootProvider));
            Randomizer    = randomizer ?? throw new ArgumentNullException(nameof(randomizer));

            _messages = new List <GameMessage>();

            AI = new ArtificialIntelligenceService(this);

            SetLevel(level);
        }