예제 #1
0
        public string CreateDungeon(DungeonConfig configuration)
        {
            //use a child container for this request which will dispose everything
            using (TinyIoCContainer requestContainer = _container.GetChildContainer())
            {
                //register the requested config for others to find it
                requestContainer.Register <DungeonConfig>(configuration);

                string id = requestContainer.Resolve <IIdGenerator>().GetNextId(configuration.Name);
                DungeonConfigEntity dungeonConfig = requestContainer.Resolve <DungeonConfigEntity>();
                IDungeonDepot       depot         = requestContainer.Resolve <IDungeonDepot>();

                depot.Add(id, dungeonConfig);

                return(id);
            }
        }