Ejemplo n.º 1
0
        /// <summary>
        /// Build all the item managers for the module
        /// </summary>
        /// <param name="db"></param>
        /// <param name="itemRepo"></param>
        /// <returns></returns>
        List <IModelManager> BuildManagers(IModuleManager moduleManager, EFWorldModuleContext db)
        {
            var itemRepo = moduleManager.GetItemRepo();
            var managers = new List <IModelManager>
            {
                new GameItemDataManager(moduleManager, new EFGameItemDataRepo(db, itemRepo)),
                new LocationItemDataManager(moduleManager, new EFLocationItemDataRepo(db, itemRepo)),
                new CharacterItemDataManager(moduleManager, new EFCharacterItemDataRepo(db, itemRepo)),
                new ExitItemDataManager(moduleManager, new EFExitItemDataRepo(db, itemRepo)),
                new PhysicalItemDataManager(moduleManager, new EFPhysicalItemDataRepo(db, itemRepo)),
                new GeneratorItemDataManager(moduleManager, new EFGeneratorItemDataRepo(db, itemRepo)),
                new GarbageItemDataManager(moduleManager, this, new EFGarbageItemDataRepo(db, itemRepo))
            };

            return(managers);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Constructor
        /// </summary>
        public WorldModule(
            IModuleManager moduleManager)
        {
            ModuleManager = moduleManager;
            var connectionString = ModuleManager.GetConfiguration().GetConnectionString("DefaultConnection");
            var dbOptions        = new DbContextOptionsBuilder <BaseContext>();

            dbOptions.UseSqlServer(connectionString);
            Db           = new EFWorldModuleContext(dbOptions.Options);
            Managers     = BuildManagers(ModuleManager, Db);
            Repositories = Managers.SelectMany(x => x.GetRepositories()).ToList();
            ModuleManager.ModuleManagerReadyEvent += () =>
            {
                ModuleReadyEvent?.Invoke();
            };
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFGeneratorItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <GeneratorItemData>())
 {
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFExitItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <ExitItemData>())
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFLocationItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <LocationItemData>())
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFCharacterItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <CharacterItemData>())
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFPhysicalItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <PhysicalItemData>())
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="db">Entity framework database context</param>
 public EFGarbageItemDataRepo(
     EFWorldModuleContext db,
     IItemRepo itemRepo) : base(db, db.GetDbSet <GarbageItemData>())
 {
 }