public async Task ResetSkillCountAsync() { _skillUseService.Reset(); CurrentSkillCollection.Clear(); SkillUseCollection.Clear(); await UpdateSkillTextAsync(); }
private async void _skillUseService_SkillCountIncremented(object sender, SkillUsedEventArgs e) { AddSkillIfNotExists(e.UsedSkill); var skillCount = CurrentSkillCollection.FirstOrDefault(x => x.SkillName == e.UsedSkill.Name); if (skillCount != null) { skillCount.Increment(); await UpdateSkillTextAsync(); } SkillUseCollection.Add(new SkillUseEntity() { UseDate = DateTime.Now, SkillName = e.UsedSkill.Name, SkillShortName = e.UsedSkill.ShortName, }); }
private bool AddSkillIfNotExists(Skill s) { if (CurrentSkillCollection.Any(x => x.SkillName == s.Name)) { return(false); } if (!s.IsEmpty()) { WorkName.Value = s.WorkName; } CurrentSkillCollection.Add(new SkillCountDetailEntity() { SkillName = s.Name, SkillShortName = s.ShortName, WorkName = s.WorkName, }); return(true); }
private async Task SaveSkillCountAsync() { if (!CurrentSkillCollection.Any()) { return; } var entity = new SkillCountEntity() { RecordDate = DateTime.Now, MapName = MapName.Value, WorkName = WorkName.Value, Details = CurrentSkillCollection.ToList(), SkillUseHitories = SkillUseCollection.ToList() }; await _skillCountRepository.SaveAsync(entity); // 履歴に追加 SkillCountHistories.AddOnScheduler(entity); // スキル使用履歴を SkillUseCollection.Clear(); }
private async void _skillUseService_SkillsUpdated(object sender, SkillsUpdatedEventArgs e) { var skills = e.Skills; var requireUpdate = false; if (skills != null && skills.Where(x => !x.IsEmpty()).Any()) { // 職が変更されていればスキル一覧をクリア if (skills.Where(x => !x.IsEmpty()).FirstOrDefault().WorkName != WorkName.Value) { CurrentSkillCollection.Clear(); } foreach (var s in skills.Where(x => !x.IsEmpty())) { requireUpdate = AddSkillIfNotExists(s); } } if (requireUpdate) { await UpdateSkillTextAsync(); } }