fix: fix memory leaks

This commit is contained in:
Иванов Иван
2024-08-21 22:39:22 +02:00
parent 4e2e108076
commit 914f6ba20f
9 changed files with 80 additions and 8 deletions

View File

@ -73,24 +73,31 @@ namespace Client.Application.ViewModels
this.hero = hero;
this.worldHandler = worldHandler;
this.pathMover = pathMover;
drop.PropertyChanged += Creature_PropertyChanged;
drop.Transform.Position.PropertyChanged += Position_PropertyChanged;
drop.PropertyChanged += Drop_PropertyChanged;
drop.Transform.Position.PropertyChanged += DropPosition_PropertyChanged;
hero.Transform.Position.PropertyChanged += HeroPosition_PropertyChanged;
MouseLeftClickCommand = new RelayCommand(OnMouseLeftClick);
MouseRightClickCommand = new RelayCommand(async (o) => await OnMouseRightClick(o));
}
public void UnsubscribeAll()
{
drop.PropertyChanged -= Drop_PropertyChanged;
drop.Transform.Position.PropertyChanged -= DropPosition_PropertyChanged;
hero.Transform.Position.PropertyChanged -= HeroPosition_PropertyChanged;
}
private void HeroPosition_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
OnPropertyChanged("Position");
}
private void Position_PropertyChanged(object? sender, PropertyChangedEventArgs e)
private void DropPosition_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
OnPropertyChanged("Position");
}
private void Creature_PropertyChanged(object? sender, PropertyChangedEventArgs e)
private void Drop_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "Name" || e.PropertyName == "Amount")
{