public void Update(DestinyTalentNode?other) { if (other is null) { return; } if (NodeIndex != other.NodeIndex) { NodeIndex = other.NodeIndex; OnPropertyChanged(nameof(NodeIndex)); } if (NodeHash != other.NodeHash) { NodeHash = other.NodeHash; OnPropertyChanged(nameof(NodeHash)); } if (State != other.State) { State = other.State; OnPropertyChanged(nameof(State)); } if (IsActivated != other.IsActivated) { IsActivated = other.IsActivated; OnPropertyChanged(nameof(IsActivated)); } if (StepIndex != other.StepIndex) { StepIndex = other.StepIndex; OnPropertyChanged(nameof(StepIndex)); } if (!MaterialsToUpgrade.DeepEqualsList(other.MaterialsToUpgrade)) { MaterialsToUpgrade = other.MaterialsToUpgrade; OnPropertyChanged(nameof(MaterialsToUpgrade)); } if (ActivationGridLevel != other.ActivationGridLevel) { ActivationGridLevel = other.ActivationGridLevel; OnPropertyChanged(nameof(ActivationGridLevel)); } if (ProgressPercent != other.ProgressPercent) { ProgressPercent = other.ProgressPercent; OnPropertyChanged(nameof(ProgressPercent)); } if (Hidden != other.Hidden) { Hidden = other.Hidden; OnPropertyChanged(nameof(Hidden)); } if (!NodeStatsBlock.DeepEquals(other.NodeStatsBlock)) { NodeStatsBlock.Update(other.NodeStatsBlock); OnPropertyChanged(nameof(NodeStatsBlock)); } }
public bool DeepEquals(DestinyTalentNode?other) { return(other is not null && NodeIndex == other.NodeIndex && NodeHash == other.NodeHash && State == other.State && IsActivated == other.IsActivated && StepIndex == other.StepIndex && MaterialsToUpgrade.DeepEqualsList(other.MaterialsToUpgrade) && ActivationGridLevel == other.ActivationGridLevel && ProgressPercent == other.ProgressPercent && Hidden == other.Hidden && (NodeStatsBlock is not null ? NodeStatsBlock.DeepEquals(other.NodeStatsBlock) : other.NodeStatsBlock is null)); }