public bool GenerateQuests() { configurationAdapter.LoadConfigs(_configRepository); var now = DateTime.Now; var refreshResult = _refreshingMechnism.GetRefreshStatus(RefreshOption.Quests, now); if (refreshResult.Status == RefresStatus.Ready) { _questRepository.Clear(_accountManagement.GetLoggedAccount().ID); List <Quest> quests = new List <Quest>(); for (int i = 1; i <= configurationAdapter.NumberOfQuests; i++) { quests.Add(GenerateFightQuest(GetRandomLevel(configurationAdapter.QuestGenerateChances), i)); } _questRepository.AddMany(quests, _accountManagement.GetLoggedAccount().ID); _refreshingMechnism.AddRefreshFactForLoggedAccount(RefreshOption.Quests, now); return(true); } else { return(false); } }
public void AddItems(string itemID, int amount) { var seletedItem = _itemTemplateRepository.GetAll().First(x => x.ID == itemID); var newItem = new PositionInInventory { ID = $"{Guid.NewGuid().ToString()}_{seletedItem.ID}", Identyficator = seletedItem.Name, Category = seletedItem.Category, Name = seletedItem.Name, Amount = amount, Effects = seletedItem.Effects }; _positionInInventoryRepository.Add(newItem, _accountManagement.GetLoggedAccount().ID); }
private void btLogin_Click(object sender, EventArgs e) { LoginScreen loginScreen = new LoginScreen(); if (loginScreen.ShowDialog() == DialogResult.OK) { var loggedAccount = _accountManagement.Login(loginScreen.Login, loginScreen.Password); if (loggedAccount != null) { accountDetailsBox.Text = loggedAccount.ToString(); } else { accountDetailsBox.Text = "Login failed"; } } UpdateGameControls(_accountManagement.GetLoggedAccount()); }
public List <CharacterInThePack> GetAll() { return(_packFormationRepository.GetAll(_accountManagement.GetLoggedAccount().ID)); }
private void mainScreen_Load(object sender, EventArgs e) { _accountRepository = new AccountJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\Accounts.json"); var accounts = _accountRepository.GetAll(); if (accounts.Count == 0) { _accountRepository.Add(new Account("testAccount", "testPassword")); _accountRepository.Add(new Account("testAccount1", "testPassword")); _accountRepository.Add(new Account("testAccount2", "testPassword")); } _accountManagement = new AccountManagement(_accountRepository); _configRepository = new ConfigJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\Configuration.json"); EnsureConfigValue("Delay_for_option_Mercenaries_in_sec", "20"); EnsureConfigValue("Delay_for_option_Quests_in_sec", "20"); EnsureConfigValue("NumberOfRecruits", "10"); EnsureConfigValue("ChanceForLevel_1_mercenary", "10000_10000"); EnsureConfigValue("ChanceForLevel_2_mercenary", "2500_10000"); EnsureConfigValue("ChanceForLevel_3_mercenary", "500_10000"); EnsureConfigValue("ChanceForLevel_4_mercenary", "50_10000"); EnsureConfigValue("ConvinceLevel_1_recruit", "7500_10000"); EnsureConfigValue("ConvinceLevel_2_recruit", "5000_10000"); EnsureConfigValue("ConvinceLevel_3_recruit", "2000_10000"); EnsureConfigValue("ConvinceLevel_4_recruit", "1000_10000"); EnsureConfigValue("NumberOfQuests", "5"); EnsureConfigValue("ChanceForLevel_1_quest", "7500_10000"); EnsureConfigValue("ChanceForLevel_2_quest", "5000_10000"); EnsureConfigValue("ChanceForLevel_3_quest", "2000_10000"); EnsureConfigValue("ChanceForLevel_4_quest", "1000_10000"); _packFormationRepository = new PackFormationJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); _packFormationBuilder = new PackFormationBuilder(_packFormationRepository, _accountManagement); _refreshRepository = new RefreshJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); _recruitsRepository = new RecruitsJsonRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); _refreshingMechnism = new RefreshingMechnism(_refreshRepository, _configRepository, _accountManagement); _mercenaryTemplateRepository = new MercenaryTemplateJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\MercenaryTemplates.json"); _mercenaryRepository = new MercenaryJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); if (_mercenaryTemplateRepository.GetAll().Count == 0) { foreach (var template in MercenaryTemplatesCollectionGenerator.Generate()) { _mercenaryTemplateRepository.Add(template); } } _positionInInventoryRepository = new PositionInInventoryJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); _itemTemplateRepository = new ItemTemplateJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\ItemTemplates.json"); _inventoryManagement = new InventoryManagement(_itemTemplateRepository, _positionInInventoryRepository, _accountManagement); if (_itemTemplateRepository.GetAll().Count == 0) { foreach (var template in ItemTemplatesCollectionGenerator.Generate()) { _itemTemplateRepository.Add(template); } } _mercenaryManagement = new MercenaryManagement(_mercenaryRepository, _accountManagement, _mercenaryTemplateRepository, new ValueRandomizer(), _configRepository, _recruitsRepository, _inventoryManagement, _refreshingMechnism); _formationTemplateRepository = new FormationTemplateJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\FormationTemplates.json"); _opponentPackFormationBuilder = new OpponentPackFormationBuilder(_formationTemplateRepository, _mercenaryManagement); if (_formationTemplateRepository.GetAll().Count == 0) { foreach (var template in FormationTemplatesCollectionGenerator.Generate()) { _formationTemplateRepository.Add(template); } } _valueRandomizer = new ValueRandomizer(); _logger = new FakeLogger(); _questsRepository = new QuestsJasonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\"); _rewardTemplatesRepository = new RewardTemplatesJsonFileRepository(@"C:\Emil\Projects\HeroGameDataFiles\RewardTemplates.json"); if (_rewardTemplatesRepository.GetAll().Count == 0) { foreach (var template in RewardTemplatesCollectionGenerator.Generate()) { _rewardTemplatesRepository.Add(template); } } _fightMechanizm = new FightMechanizm(_valueRandomizer); _fightManagement = new FightManagement(_opponentPackFormationBuilder, _fightMechanizm, _packFormationBuilder, _mercenaryManagement); _questManagement = new QuestManagement(_configRepository, _refreshingMechnism, _valueRandomizer, _formationTemplateRepository, _accountManagement, _questsRepository, _rewardTemplatesRepository, _inventoryManagement, _itemTemplateRepository, _fightManagement); UpdateGameControls(_accountManagement.GetLoggedAccount()); }
public void AddRefreshFactForLoggedAccount(RefreshOption option, DateTime actionTime) { _refreshRepository.Add(new RefreshFact { ID = Guid.NewGuid().ToString(), Option = option, LastAction = actionTime }, _accountManagement.GetLoggedAccount().ID); }
public void AddNewMercenary(Character mercenary) { _mercenaryRepository.Add(mercenary, _accountManagement.GetLoggedAccount().ID); }