Compare commits
No commits in common. "1c76868eee12406d6c39fa64da8462e35019a39e" and "f1ec062047ba68d48493b25273ba5893f42a890f" have entirely different histories.
1c76868eee
...
f1ec062047
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7f609c39b51d9e447a6a4a5964011b44
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,9 +0,0 @@
|
|||||||
[System.Serializable]
|
|
||||||
public class Atom
|
|
||||||
{
|
|
||||||
// nom de l'atom
|
|
||||||
public string element;
|
|
||||||
|
|
||||||
// coordonée XYZ
|
|
||||||
public float[] geometry;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 9d3069c87e06b0c4c9a88c0695461936
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,9 +0,0 @@
|
|||||||
[System.Serializable]
|
|
||||||
public class Bond
|
|
||||||
{
|
|
||||||
// numéro des atome lier
|
|
||||||
public int[] atoms;
|
|
||||||
|
|
||||||
// nombre de liaison
|
|
||||||
public int order;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5ee91233baa5bef4288717efd423d4df
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,98 +0,0 @@
|
|||||||
{
|
|
||||||
"molecules":[
|
|
||||||
{
|
|
||||||
"name": "Dioxygène",
|
|
||||||
"formula": "O2",
|
|
||||||
"atoms": [
|
|
||||||
{
|
|
||||||
"element": "O",
|
|
||||||
"geometry": [0.0, 0.0, 0.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": "O",
|
|
||||||
"geometry": [1.2, 0.0, 0.0]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"bonds": [
|
|
||||||
{"atoms": [0, 1], "order": 2}
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"molecularMass": 32.0,
|
|
||||||
"meltingPoint": -218.8,
|
|
||||||
"boilingPoint": -183.0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ozone",
|
|
||||||
"formula": "O3",
|
|
||||||
"atoms": [
|
|
||||||
{"element": "O", "geometry": [0.0, 0.0, 0.0]},
|
|
||||||
{"element": "O", "geometry": [0.7, 0.0, 0.0]},
|
|
||||||
{"element": "O", "geometry": [1.4, 0.0, 0.0]}
|
|
||||||
],
|
|
||||||
"bonds": [
|
|
||||||
{"atoms": [0, 1], "order": 1},
|
|
||||||
{"atoms": [1, 2], "order": 1}
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"molecularMass": 47.9982,
|
|
||||||
"meltingPoint": -192.5,
|
|
||||||
"boilingPoint": -110.0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dioxyde de carbone",
|
|
||||||
"formula": "CO2",
|
|
||||||
"atoms": [
|
|
||||||
{"element": "C", "geometry": [0.0, 0.0, 0.0]},
|
|
||||||
{"element": "O", "geometry": [1.2, 0.0, 0.0]},
|
|
||||||
{"element": "O", "geometry": [-1.2, 0.0, 0.0]}
|
|
||||||
],
|
|
||||||
"bonds": [
|
|
||||||
{"atoms": [0, 1], "order": 2},
|
|
||||||
{"atoms": [0, 2], "order": 2}
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"molecularMass": 44.0095,
|
|
||||||
"meltingPoint": -56.6,
|
|
||||||
"boilingPoint": -78.5
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Butane",
|
|
||||||
"formula": "C4H10",
|
|
||||||
"atoms": [
|
|
||||||
{"element": "C", "geometry": [0.0, 0.0, 0.0]},
|
|
||||||
{"element": "C", "geometry": [1.5, 0.0, 0.0]},
|
|
||||||
{"element": "C", "geometry": [3.0, 0.0, 0.0]},
|
|
||||||
{"element": "C", "geometry": [4.5, 0.0, 0.0]},
|
|
||||||
{"element": "H", "geometry": [0.0, 1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [0.0, -1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [1.5, 1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [1.5, -1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [3.0, 1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [3.0, -1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [4.5, 1.5, 0.0]},
|
|
||||||
{"element": "H", "geometry": [4.5, -1.5, 0.0]}
|
|
||||||
],
|
|
||||||
"bonds": [
|
|
||||||
{"atoms": [0, 1], "order": 1},
|
|
||||||
{"atoms": [1, 2], "order": 1},
|
|
||||||
{"atoms": [2, 3], "order": 1},
|
|
||||||
{"atoms": [0, 4], "order": 1},
|
|
||||||
{"atoms": [0, 5], "order": 1},
|
|
||||||
{"atoms": [1, 6], "order": 1},
|
|
||||||
{"atoms": [1, 7], "order": 1},
|
|
||||||
{"atoms": [2, 8], "order": 1},
|
|
||||||
{"atoms": [2, 9], "order": 1},
|
|
||||||
{"atoms": [3, 10], "order": 1},
|
|
||||||
{"atoms": [3, 11], "order": 1}
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"molecularMass": 58.1222,
|
|
||||||
"meltingPoint": -138.3,
|
|
||||||
"boilingPoint": -0.5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3a11d0f923ae50c4d82ee1dda0f629a3
|
|
||||||
TextScriptImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,59 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class MoleculeFactory : MonoBehaviour{
|
|
||||||
|
|
||||||
public TextAsset jsonFile;
|
|
||||||
|
|
||||||
private static MoleculeFactory instance;
|
|
||||||
|
|
||||||
private Molecules moleculesInJson;
|
|
||||||
|
|
||||||
private Dictionary<string, Molecule> moleculesDictionary;
|
|
||||||
|
|
||||||
public MoleculeFactory(TextAsset jsonFile){
|
|
||||||
MoleculeFactory.instance = this;
|
|
||||||
moleculesDictionary = new Dictionary<string, Molecule>();
|
|
||||||
moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
|
|
||||||
foreach (var molecule in moleculesInJson.molecules){
|
|
||||||
moleculesDictionary.Add(molecule.formula, molecule);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MoleculeFactory getInstrance(){
|
|
||||||
if(MoleculeFactory.instance == null){
|
|
||||||
Debug.LogError("no Json file");
|
|
||||||
}
|
|
||||||
return MoleculeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MoleculeFactory getInstrance(TextAsset jsonFile){
|
|
||||||
if(MoleculeFactory.instance == null){
|
|
||||||
MoleculeFactory.instance = new MoleculeFactory(jsonFile);
|
|
||||||
}
|
|
||||||
return MoleculeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GameObject createMolecule (string formula){
|
|
||||||
if(!moleculesDictionary.ContainsKey(formula)){
|
|
||||||
Debug.LogError("molecules does not existe in json");
|
|
||||||
}
|
|
||||||
Molecule molecule = moleculesDictionary[formula];
|
|
||||||
GameObject sortie = new GameObject(molecule.name);
|
|
||||||
|
|
||||||
foreach (Atom atom in molecule.atoms) {
|
|
||||||
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
|
||||||
sphere.transform.parent = sortie.transform;
|
|
||||||
sphere.name = atom.element;
|
|
||||||
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
|
||||||
//TODO: géré les laision
|
|
||||||
//TODO: géré la taille de l'atome
|
|
||||||
//TODO: géré la couleur de l'atome
|
|
||||||
}
|
|
||||||
return sortie;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 68834abede8b8d14d93f46876f40df3e
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,27 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System;
|
|
||||||
[System.Serializable]
|
|
||||||
public class Molecule
|
|
||||||
{
|
|
||||||
// nom molécules
|
|
||||||
public string name;
|
|
||||||
|
|
||||||
// formule melécule
|
|
||||||
public string formula;
|
|
||||||
|
|
||||||
// liste des atoms
|
|
||||||
public Atom[] atoms;
|
|
||||||
|
|
||||||
// liste des liason entre les atoms
|
|
||||||
public Bond[] bonds;
|
|
||||||
|
|
||||||
// prorpiété de la molécule
|
|
||||||
public Properties properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.Serializable]
|
|
||||||
public class Molecules
|
|
||||||
{
|
|
||||||
// liste des liason entre les atoms
|
|
||||||
public Molecule[] molecules;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 23d78ff2f0da0df4ba3f76aa522bfe4c
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,10 +0,0 @@
|
|||||||
[System.Serializable]
|
|
||||||
public class Properties
|
|
||||||
{
|
|
||||||
// masse en g/mol
|
|
||||||
public float molecularMass;
|
|
||||||
// température de fusion (solid->liquide)
|
|
||||||
public float meltingPoint;
|
|
||||||
// température d'évaporation (liquide-> gaz)
|
|
||||||
public float boilingPoint;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5df75892dfdcac7468e63229a5bd0ab8
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -1,34 +0,0 @@
|
|||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
public class ReadMolecule : MonoBehaviour
|
|
||||||
{
|
|
||||||
public TextAsset jsonFile;
|
|
||||||
|
|
||||||
void Start(){
|
|
||||||
Molecules moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
|
|
||||||
|
|
||||||
int molNum = 0;
|
|
||||||
int dist = 5;
|
|
||||||
foreach (Molecule molecule in moleculesInJson.molecules){
|
|
||||||
|
|
||||||
GameObject moleculeObj = new GameObject(molecule.name);
|
|
||||||
|
|
||||||
foreach (Atom atom in molecule.atoms){
|
|
||||||
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
|
||||||
sphere.transform.parent = moleculeObj.transform;
|
|
||||||
sphere.name = atom.element;
|
|
||||||
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
|
||||||
}
|
|
||||||
moleculeObj.transform.position = new Vector3(molNum*dist,0,0);
|
|
||||||
molNum++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f13310aa5828a5d47b5e83a3e9eb3fec
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Loading…
x
Reference in New Issue
Block a user