public void Remove(Character character) { TraitData data; if (!character.Traits.TryGetValue(Id, out data)) throw new Exception($"У персонажа {character.GetDebugIdString()} нет трейта {GetDebugIdString()}"); OnRemove(character, data); character.Traits.Remove(Id); }