Как обновить значение в словаре который записан в список?

есть вот такая схема из списков словарей. Сделано это для удобства хранения в одном файле.

        class PluginData
        {
            public Dictionary<string, string> Deploys = new Dictionary<string, string>();
            public Dictionary<string, int> Destroys = new Dictionary<string, int>();
        }
        
        public string chatName = "Ивент RB";
        PluginData pluginData;

        void Loaded()
        {
            LoadPluginData();
        }

        void LoadPluginData()
        {
            pluginData = Interface.GetMod().DataFileSystem.ReadObject<PluginData>("RBEvent");
        }

        void SavePluginData()
        {
            Interface.GetMod().DataFileSystem.WriteObject("RBEvent", pluginData);
        }

Далее в скрипте мне нужно обновить одно из заранее записанных значений в словаре Destroys я пытаюсь обратится к нему как ++pluginData.RBDestroys.Destroys.destroyer; (по сути значение является числом) мне нужно просто добавить к нему единицу, каждый раз когда выполняются условия и сохранить обратно в файл SavePluginData() но мой древний компилятор ругается: error CS1061: Type `System.Collections.Generic.List<Oxide.Plugins.RBEvent.RBDestroys>' does not contain a definition for `destroyer' and no extension method `destroyer' of type `System.Collections.Generic.List<Oxide.Plugins.RBEvent.RBDestroys>' could be found. Are you missing an assembly reference? Что ему не подходит? что я не так делаю? Тут выполняю код:

        void OnKilled(TakeDamage damage, DamageEvent evt)
        {
            if(evt.victim.idMain == null || evt.attacker.idMain == null) return;
            if(damage != null && evt.victim.idMain is DeployableObject && evt.victim.idMain.name == "RepairBench(Clone)")
            {
                var attacker = evt.attacker.client.netUser;// Уничтожил
                var attacked = evt.victim.client.netUser;// Уничтоженный
                var destroyer = evt.attacker.client.netUser.displayName;
                var structure = evt.victim.idMain as DeployableObject;
                Puts(destroyer+" уничтожил "+structure.name+" игрока "+attacked.displayName);
                
                //Проверка что уничтожен не свой RB
                
                //structure != null && attacker != null
                // && !attacker.admin
                // && evt.damageTypes == DamageTypeFlags.damage_explosion)
                foreach (var x in pluginData.Destroys)
                {
                    if (!pluginData.Destroys.ContainsKey(destroyer)) {
                        pluginData.Destroys.Add(destroyer, 0);
                    } else {
                        //int kills = pluginData.Destroys.Value();
                        ++pluginData.Destroys[destroyer];
                        //pluginData.RBDestroys.Add(RBDeploys { Destroys = Dictionary<string, int> {{destroyer, kills+1}} });
                        //pluginData.Destroys[destroyer] = pluginData.Destroys[destroyer]+1);
                        SavePluginData();

                        rust.SendChatMessage(attacker, chatName, "Вы только что уничтожили Repair Bench! Всего уничтожил: "+pluginData.Destroys[destroyer]);
                        return;
                    }
                }
            }
        }

Ответы (0 шт):