Sugerencias de moléculas/materiales según lo que está cargado en el workspace
Se agrega panel de sugerencias a la escena
Se crea un SuggestionManager que tiene la lógica para generar las sugerencias y aplicarlas
Se agrega un PopulateSuggestionList que maneja el contenido de la lista de sugerencias
Se corrigieron casos en los que Atom no seteaba el ElementNumber de un "no encontrado" en 0.
Se agregaron al AtomManager y MoleculeManager las llamadas al metodo que actualiza las sugerencias cada vez que se agrega o elimina un atomo o molecula.
Se agregaron queries, clases y structs de mapeo que se utilizan en la lógica de las sugerencias.
Se utilizan cuatro listas en SuggestionManager para manejar las sugerencias que se van a mostrar:
List<int> moleculesFullyMatched
List<int> moleculesPartiallyMatched
List<int> materialsFullyMatched
List<int> materialsPartiallyMatched
Las sugerencias que se incluyen en este PR son:
En base a lo que está cargado actualmente en el espacio de trabajo.
Lista las moléculas o materiales que tengan todos o algunos de sus elementos cargados. Si no hay ninguno no los sugiere.
Primero aparecen las que tienen todos sus elementos cargados. Despues las parciales.
Solo deja aplicar (cargar molecula/material) las sugerencias que esten completas, es decir, todos los elementos cargados.
Si faltan algunos elementos para cargar una molecula o material, al presionar "Aplicar" mostrará en un pop-up una lista con lo faltante.
Extras:
Se modifico el UIPopup para, opcionalmente, agrandar el alto del mismo en una cierta cantidad de renglones (necesario para mostrar la lista de elementos faltantes entera).
Se modifica el .gitignore para no commitear los saves
Se corrige en la base de datos un dato que estaba mal para la molecula K2O
Sugerencias de moléculas/materiales según lo que está cargado en el workspace
SuggestionManager
que tiene la lógica para generar las sugerencias y aplicarlasPopulateSuggestionList
que maneja el contenido de la lista de sugerenciasAtom
no seteaba elElementNumber
de un "no encontrado" en 0.AtomManager
yMoleculeManager
las llamadas al metodo que actualiza las sugerencias cada vez que se agrega o elimina un atomo o molecula.SuggestionManager
para manejar las sugerencias que se van a mostrar:List<int> moleculesFullyMatched
List<int> moleculesPartiallyMatched
List<int> materialsFullyMatched
List<int> materialsPartiallyMatched
Las sugerencias que se incluyen en este PR son:
Extras:
UIPopup
para, opcionalmente, agrandar el alto del mismo en una cierta cantidad de renglones (necesario para mostrar la lista de elementos faltantes entera)..gitignore
para no commitear los saves