// Use this for initialization
 private void Start()
 {
     questManagement = this;
     questButton.SetActive(false);
     finishedQuestButton.SetActive(false);
     singleObjective.SetActive(false);
     createdObjectives   = new List <GameObject>();
     createdQuestButtons = new List <GameObject>();
 }
 public QuestController(
     ILogger <QuestController> logger,
     ICurrentSession session,
     IDB_GenericInterface <Quest> questDAO
     )
 {
     _logger        = logger;
     _session       = session;
     _loggedStudent = _session.LoggedUser as Student;
     _questDAO      = questDAO;
     _questManager  = new QuestManagement();
 }
Example #3
0
        public static void InitializeRepository(IObjectContainer objectContainer)
        {
            CleanupRepository();

            var logger = new FakeLogger();

            objectContainer.RegisterInstanceAs <Logger>(logger);

            var rewardTemplatesRepository = new RewardTemplatesJsonFileRepository("rewardTemplates.json");

            objectContainer.RegisterInstanceAs <IRewardTemplatesRepository>(rewardTemplatesRepository);

            var valueRandomizer = new ValueRandomizer();

            objectContainer.RegisterInstanceAs <IValueRandomizer>(valueRandomizer);
            var accountRepo = new AccountJsonFileRepository("accounts.json");

            objectContainer.RegisterInstanceAs <IAccountRepository>(accountRepo);
            var refreshRepo = new RefreshJsonFileRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IRefreshRepository>(refreshRepo);
            var configRepo = new ConfigJsonFileRepository("configuration.json");

            objectContainer.RegisterInstanceAs <IConfigRepository>(configRepo);
            var accountManagement = new AccountManagement(accountRepo);

            objectContainer.RegisterInstanceAs <IAccountManagement>(accountManagement);
            var refreshingMechnism = new RefreshingMechnism(refreshRepo, configRepo, accountManagement);

            objectContainer.RegisterInstanceAs <IRefreshingMechnism>(refreshingMechnism);
            var mercenaryRepo = new MercenaryJsonFileRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IMercenaryRepository>(mercenaryRepo);
            var recruitRepo = new RecruitsJsonRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IRecruitsRepository>(recruitRepo);
            var mercenaryTemplateRepository = new MercenaryTemplateJsonFileRepository("mercenaryTemplates.json");

            objectContainer.RegisterInstanceAs <IMercenaryTemplateRepository>(mercenaryTemplateRepository);

            var packFormationRepository = new PackFormationJsonFileRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IPackFormationRepository>(packFormationRepository);

            var packFormationBuilder = new PackFormationBuilder(packFormationRepository, accountManagement);

            objectContainer.RegisterInstanceAs <IPackFormationBuilder>(packFormationBuilder);

            var itemTemplateRepository = new ItemTemplateJsonFileRepository("itemTemplates.json");

            objectContainer.RegisterInstanceAs <IItemTemplateRepository>(itemTemplateRepository);
            var positionInInventoryRepository = new PositionInInventoryJsonFileRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IPositionInInventoryRepository>(positionInInventoryRepository);
            var inventoryManagement = new InventoryManagement(itemTemplateRepository, positionInInventoryRepository, accountManagement);

            objectContainer.RegisterInstanceAs <IInventoryManagement>(inventoryManagement);

            var mercenaryManagement = new MercenaryManagement(mercenaryRepo, accountManagement, mercenaryTemplateRepository, valueRandomizer, configRepo, recruitRepo, inventoryManagement, refreshingMechnism);

            objectContainer.RegisterInstanceAs <IMercenaryManagement>(mercenaryManagement);

            var formationTemplateRepository = new FormationTemplateJsonFileRepository("formationTemplates.json");

            objectContainer.RegisterInstanceAs <IFormationTemplateRepository>(formationTemplateRepository);

            var opponentPackFormationBuilder = new OpponentPackFormationBuilder(formationTemplateRepository, mercenaryManagement);

            objectContainer.RegisterInstanceAs <IOpponentPackFormationBuilder>(opponentPackFormationBuilder);

            var fightMechanizm = new FightMechanizm(valueRandomizer);

            objectContainer.RegisterInstanceAs <IFightMechanizm>(fightMechanizm);

            var fightManagement = new FightManagement(opponentPackFormationBuilder, fightMechanizm, packFormationBuilder, mercenaryManagement);

            objectContainer.RegisterInstanceAs <IFightManagement>(fightManagement);

            var questRepository = new QuestsJasonFileRepository(Directory.GetCurrentDirectory());

            objectContainer.RegisterInstanceAs <IQuestRepository>(questRepository);
            var questManagement = new QuestManagement(configRepo, refreshingMechnism, valueRandomizer, formationTemplateRepository, accountManagement,
                                                      questRepository, rewardTemplatesRepository, inventoryManagement, itemTemplateRepository, fightManagement);

            objectContainer.RegisterInstanceAs <IQuestManagement>(questManagement);
        }