public Dissipazione(ControlloreVincoli controlloreVincoli, bool overclock)
 {
     _overclock = overclock;
     _controlloreVincoli = controlloreVincoli;
     _mappaPosizioneVentole = null;
     _valutazione = 100;
 }
        public Assemblato()
        {
            // NUOVO ASSEMBLATO

            _costoTotale = 0;
            _potenzaTotale = 0;
            _pesoTotale = 0;

            _mappaComponenti = new Dictionary<string, List<Componente>>();

            _controlloreVincoli = new ControlloreVincoli();

            _dissipazione = new Dissipazione(_controlloreVincoli, false);

            foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
            {
                foreach (Type t in assembly.GetTypes())
                {
                    if (t.BaseType == typeof(Componente))
                        _mappaComponenti.Add(t.Name, new List<Componente>());
                }
            }
            _mappaComponenti.Remove("Ventola");
        }
        public Assemblato(Dictionary<string, List<Componente>> mappaComponenti,  bool overclock, Dictionary<string, object> vincoli)
        {
            // CARICA ASSEMBLATO

            /* Da usare per caricare un Assemblato salvato in memoria
             * salva componenti e vincoli quindi calcola gli altri parametri
             */

            _mappaComponenti = mappaComponenti;
            _controlloreVincoli = new ControlloreVincoli(vincoli);

            _dissipazione = new Dissipazione(_controlloreVincoli, overclock);
            if (_mappaComponenti["Case"].Count != 0)
                _dissipazione.MappaPosizioneVentole = ((Case)_mappaComponenti["Case"][0]).MappaVentole;


            AggiornaAttributi();

        }