protected override void OnUnequip() { AttackFXManager manager = EntityEquipped.EntityProperties.GetAdditionalProperty <AttackFXManager>(Enumerations.AdditionalProperty.AttackFXSounds); if (manager != null) { //Remove the sound manager.RemoveSound(SoundToPlay); //If there are no more sounds to play, clean up the AttackFXManager and remove the property from the BattleEntity if (manager.SoundCount == 0) { manager.CleanUp(); EntityEquipped.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.AttackFXSounds); } manager = null; } }