feat: add experience info helper
This commit is contained in:
13
Client/Domain/Helpers/ExperienceHelperInterface.cs
Normal file
13
Client/Domain/Helpers/ExperienceHelperInterface.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Client.Domain.Helpers
|
||||
{
|
||||
public interface ExperienceHelperInterface
|
||||
{
|
||||
ulong GetExperienceToLevel(uint level);
|
||||
}
|
||||
}
|
@@ -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)
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -7,16 +7,12 @@ namespace Client.Domain.ValueObjects
|
||||
private uint level;
|
||||
private uint exp;
|
||||
private uint sp;
|
||||
private ulong expToLevel;
|
||||
|
||||
public uint Level { get => level; set { if (value != level) { level = value; OnPropertyChanged("Level"); OnPropertyChanged("ExpToLevel"); } } }
|
||||
public uint Level { get => level; set { if (value != level) { level = value; OnPropertyChanged("Level"); } } }
|
||||
public uint Exp { get => exp; set { if (value != exp) { exp = value; OnPropertyChanged("Exp"); } } }
|
||||
public uint Sp { get => sp; set { if (value != sp) { sp = value; OnPropertyChanged("Sp"); } } }
|
||||
public uint ExpToLevel {
|
||||
get
|
||||
{
|
||||
return level * 200;
|
||||
}
|
||||
}
|
||||
public ulong ExpToLevel { get => expToLevel; set { if (value != expToLevel) { expToLevel = value; OnPropertyChanged("ExpToLevel"); } } }
|
||||
|
||||
public ExperienceInfo(uint level, uint exp, uint sp)
|
||||
{
|
||||
|
Reference in New Issue
Block a user