feat: add experience info helper

This commit is contained in:
k0t9i
2023-01-29 21:46:46 +04:00
parent 8b27c84a9e
commit f8b0b4b894
10 changed files with 460 additions and 53 deletions

View File

@@ -30,7 +30,7 @@ namespace Client.Domain.Service
if (entity != null && entities.ContainsKey(entity.Id))
{
factory.Update(entities[entity.Id], content);
OnUpdate(entity);
OnUpdate(entities[entity.Id]);
}
}
else if (operation == MessageOperationEnum.Delete)

View File

@@ -1,5 +1,6 @@
using Client.Domain.Entities;
using Client.Domain.Factories;
using Client.Domain.Helpers;
using Client.Domain.ViewModels;
using System;
using System.Collections.Generic;
@@ -14,17 +15,29 @@ namespace Client.Domain.Service
public override void OnCreate(Hero entity)
{
mainViewModel.CreateHero(entity);
entity.ExperienceInfo.ExpToLevel = experienceHelper.GetExperienceToLevel(entity.ExperienceInfo.Level + 1);
}
public override void OnUpdate(Hero entity)
{
if (entity.ExperienceInfo != null)
{
entity.ExperienceInfo.ExpToLevel = experienceHelper.GetExperienceToLevel(entity.ExperienceInfo.Level + 1);
}
}
public override void OnDelete(Hero entity)
{
mainViewModel.DeleteHero();
}
public HeroHandler(EntityFactoryInterface<Hero> factory, MainViewModelInterface mainViewModel) : base(factory)
public HeroHandler(EntityFactoryInterface<Hero> factory, MainViewModelInterface mainViewModel, ExperienceHelperInterface experienceHelper) : base(factory)
{
this.mainViewModel = mainViewModel;
this.experienceHelper = experienceHelper;
}
private readonly MainViewModelInterface mainViewModel;
private readonly ExperienceHelperInterface experienceHelper;
}
}