private static SaveData.SerializableAbilityMap ConvertAbilityMapForSaving(IDictionary <KeyCode, Ability> abilityMap)
    {
        var saveMap = new SaveData.SerializableAbilityMap();

        foreach (var mapping in abilityMap)
        {
            saveMap.Add(mapping.Key, mapping.Value?.Name);
        }

        return(saveMap);
    }
    private static Dictionary <KeyCode, Ability> ConvertAbilityMapForPlaying(SaveData.SerializableAbilityMap abilityMap)
    {
        var loadMap = new Dictionary <KeyCode, Ability>();

        foreach (var mapping in abilityMap)
        {
            if (string.IsNullOrEmpty(mapping.Value))
            {
                loadMap.Add(mapping.Key, null);
            }
            else
            {
                var ability = GameManager.Instance.Player.Abilities[mapping.Value];

                loadMap.Add(mapping.Key, ability);
            }
        }

        return(loadMap);
    }