public WebSocketConnection( ILogger logger, IRavenBotApiClient ravenBotApi, IIntegrityChecker integrityChecker, IPlayerInventoryProvider inventoryProvider, IGameData gameData, IGameManager gameManager, IGamePacketManager packetManager, IGamePacketSerializer packetSerializer, ISessionManager sessionManager, IExtensionWebSocketConnectionProvider extWsProvider, GameWebSocketConnectionProvider sessionProvider, WebSocket ws, SessionToken sessionToken) { this.receiveLoop = new Thread(ReceiveLoop); this.sendLoop = new Thread(SendLoop); this.gameLoop = new Thread(GameUpdateLoop); this.logger = logger; this.sessionToken = sessionToken; this.packetManager = packetManager; this.packetSerializer = packetSerializer; this.sessionManager = sessionManager; this.sessionProvider = sessionProvider; this.ws = ws; this.killTask = new TaskCompletionSource <object>(); this.gameProcessor = new GameProcessor( ravenBotApi, integrityChecker, this, extWsProvider, sessionManager, inventoryProvider, gameData, gameManager, sessionToken); }
public GameProcessor( IRavenBotApiClient ravenbotApi, IIntegrityChecker integrityChecker, IGameWebSocketConnection websocket, IExtensionWebSocketConnectionProvider extWsProvider, ISessionManager sessionManager, IPlayerInventoryProvider inventoryProvider, IGameData gameData, IGameManager gameManager, SessionToken sessionToken) { this.gameData = gameData; this.gameManager = gameManager; this.ravenbotApi = ravenbotApi; this.integrityChecker = integrityChecker; this.gameConnection = websocket; this.extensionConnectionProvider = extWsProvider; this.sessionManager = sessionManager; this.inventoryProvider = inventoryProvider; this.sessionToken = sessionToken; RegisterPlayerTask <ClanProcessor>(ClanProcessorName); RegisterPlayerTask <VillageProcessor>(VillageProcessorName); RegisterPlayerTask <LoyaltyProcessor>(LoyaltyProcessorName); RegisterPlayerTask <RestedProcessor>(RestedProcessorName); RegisterPlayerTask <FightingTaskProcessor>("Fighting"); RegisterPlayerTask <MiningTaskProcessor>("Mining"); RegisterPlayerTask <FishingTaskProcessor>("Fishing"); RegisterPlayerTask <FarmingTaskProcessor>("Farming"); RegisterPlayerTask <WoodcuttingTaskProcessor>("Woodcutting"); RegisterPlayerTask <CraftingTaskProcessor>("Crafting"); RegisterPlayerTask <CookingTaskProcessor>("Cooking"); SendSessionData(); }
public AuthService( IOptions <AppSettings> settings, IRavenBotApiClient ravenbotApi, IGameData gameData, IAuthManager authManager, IPlayerManager playerManager, IHttpContextAccessor accessor, ISessionInfoProvider sessionInfoProvider) : base(accessor, sessionInfoProvider) { this.ravenbotApi = ravenbotApi; this.gameData = gameData; this.authManager = authManager; this.playerManager = playerManager; this.settings = settings.Value; }
public GameWebSocketConnectionProvider( ILogger <GameWebSocketConnectionProvider> logger, IRavenBotApiClient ravenBotApi, IIntegrityChecker integrityChecker, IPlayerInventoryProvider inventoryProvider, IExtensionWebSocketConnectionProvider extWsProvider, IGameData gameData, IGameManager gameManager, IGamePacketManager packetManager, IGamePacketSerializer packetSerializer, ISessionManager sessionManager) { this.logger = logger; this.ravenBotApi = ravenBotApi; this.integrityChecker = integrityChecker; this.inventoryProvider = inventoryProvider; this.extWsProvider = extWsProvider; this.gameData = gameData; this.gameManager = gameManager; this.packetManager = packetManager; this.packetSerializer = packetSerializer; this.sessionManager = sessionManager; }