diff --git a/@sammo/gateway_server/src/connectDB.ts b/@sammo/gateway_server/src/connectDB.ts index 499cbe2..2aaaa9b 100644 --- a/@sammo/gateway_server/src/connectDB.ts +++ b/@sammo/gateway_server/src/connectDB.ts @@ -1,5 +1,5 @@ import './dotenv.js'; -import { connect, Mongoose } from "mongoose"; +import { connect,type Mongoose } from "mongoose"; import { unwrap } from '@sammo/util'; const dbConfig = { diff --git a/@sammo/gateway_server/src/schema/LoginToken.ts b/@sammo/gateway_server/src/schema/LoginToken.ts index 27c5e46..d389acb 100644 --- a/@sammo/gateway_server/src/schema/LoginToken.ts +++ b/@sammo/gateway_server/src/schema/LoginToken.ts @@ -1,5 +1,5 @@ import { type UserIDType } from "./User.js"; -import { Mongoose, Schema, model } from "mongoose"; +import { type Mongoose, Schema, model } from "mongoose"; export interface ILoginToken { userID: UserIDType; diff --git a/@sammo/server/src/GameEngine.ts b/@sammo/server/src/GameEngine.ts index a5cb0c2..25e1787 100644 --- a/@sammo/server/src/GameEngine.ts +++ b/@sammo/server/src/GameEngine.ts @@ -2,7 +2,8 @@ import { Signal, delay, must, must_err } from "@sammo/util"; import Denque from "denque"; import { ResourceController } from "./ResourceController.js"; import { entriesWithType } from "@sammo/util/converter"; - +import db from "./connectDB.js"; +import type { Mongoose } from "mongoose"; export interface ActionRequest { } @@ -44,9 +45,8 @@ export class GameEngine { private rsc: ResourceController - private constructor() { - //TODO MongoDB를 넘겨줘야함 - this.rsc = new ResourceController(); + private constructor(db: Mongoose) { + this.rsc = new ResourceController(db); } private continueRun = true; @@ -177,7 +177,7 @@ export class GameEngine { throw new Error('GameEngine is already initialized'); } - GameEngine.instance = new GameEngine(); + GameEngine.instance = new GameEngine(await db); return GameEngine.instance; } diff --git a/@sammo/server/src/ResourceController.ts b/@sammo/server/src/ResourceController.ts index 244d929..280c21c 100644 --- a/@sammo/server/src/ResourceController.ts +++ b/@sammo/server/src/ResourceController.ts @@ -13,13 +13,15 @@ import type { Nation } from "@sammo/game_logic/src/Nation.js"; import type { Troop } from "@sammo/game_logic/src/Troop.js"; import { insertItemAtArrayLike, NotYetImplemented } from "@sammo/util"; import Denque from "denque"; - +import type { Mongoose } from "mongoose"; type ChangeType = "insert" | "update" | "delete"; //TODO: Implement! export class ResourceController implements IResourceController{ - constructor() { + constructor( + private readonly db: Mongoose + ) { } @@ -32,6 +34,7 @@ export class ResourceController implements IResourceController{ private _generalByTurntime = new Denque(); + private changes = { Nation: new Map(), City: new Map(), diff --git a/@sammo/server/src/connectDB.ts b/@sammo/server/src/connectDB.ts index 4f02492..00a931e 100644 --- a/@sammo/server/src/connectDB.ts +++ b/@sammo/server/src/connectDB.ts @@ -1,5 +1,5 @@ import './dotenv.js'; -import { connect, Mongoose } from "mongoose"; +import { connect, type Mongoose } from "mongoose"; import { unwrap } from '@sammo/util'; const dbConfig = {