feat:Molecule-json #8

Merged
Clement merged 10 commits from feat/Molecule-json into develop 2024-01-12 10:38:06 +00:00
10 changed files with 375 additions and 10 deletions
Showing only changes of commit 7c3aa27c71 - Show all commits

View File

@ -332,6 +332,148 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 136169417} m_GameObject: {fileID: 136169417}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1001 &183054814
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 799614602}
m_Modifications:
- target: {fileID: 236738444019946666, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_Name
value: C
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.y
value: -3
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c031a3ea596b6c14abd0a9cf9b5e8837, type: 3}
--- !u!1001 &508073240
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 799614602}
m_Modifications:
- target: {fileID: 3655036399522394151, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_Name
value: O
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.y
value: -3
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 027c97d1954e2a44db92464acd35fde9, type: 3}
--- !u!4 &529523028 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
m_PrefabInstance: {fileID: 508073240}
m_PrefabAsset: {fileID: 0}
--- !u!1 &534669303 --- !u!1 &534669303
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -400,6 +542,12 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &678364522 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
m_PrefabInstance: {fileID: 183054814}
m_PrefabAsset: {fileID: 0}
--- !u!1 &693850225 --- !u!1 &693850225
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -665,8 +813,9 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 799614602} - component: {fileID: 799614602}
- component: {fileID: 799614603} - component: {fileID: 799614603}
- component: {fileID: 799614604}
m_Layer: 0 m_Layer: 0
m_Name: GameObject m_Name: Molecule parcer
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -684,7 +833,9 @@ Transform:
m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children:
- {fileID: 678364522}
- {fileID: 529523028}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &799614603 --- !u!114 &799614603
@ -694,12 +845,25 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799614600} m_GameObject: {fileID: 799614600}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f13310aa5828a5d47b5e83a3e9eb3fec, type: 3} m_Script: {fileID: 11500000, guid: f13310aa5828a5d47b5e83a3e9eb3fec, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
jsonFile: {fileID: 4900000, guid: 3a11d0f923ae50c4d82ee1dda0f629a3, type: 3} jsonFile: {fileID: 4900000, guid: 3a11d0f923ae50c4d82ee1dda0f629a3, type: 3}
--- !u!114 &799614604
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799614600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 617b4ba049dacfb4da7aa525641f8371, type: 3}
m_Name:
m_EditorClassIdentifier:
jsonFile: {fileID: 4900000, guid: 865ef6336b8f164428ff661758efffd1, type: 3}
--- !u!1 &909516278 --- !u!1 &909516278
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -78,6 +78,6 @@ Material:
- _UVSec: 0 - _UVSec: 0
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _Color: {r: 1, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []

View File

@ -0,0 +1,98 @@
{
"molecules": {
"O2": {
"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
}
},
"O3": {
"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
}
},
"CO2": {
"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
}
},
"C4H10": {
"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
}
}
}
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 865ef6336b8f164428ff661758efffd1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,59 @@
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;
moleculesInJson = JsonUtility.FromJson<List<Molecule>>(jsonFile.text);
Debug.Log(jsonFile.text);
moleculesDictionary = BuildMoleculesDictionary(moleculesInJson);
}
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){
Debug.Log(moleculesInJson);
// Molecule molecule = molecules[formula];
foreach(var item in moleculesInJson.molecules){
Debug.Log("pouet2");
Debug.Log(item.Key);
Debug.Log(item.Value);
}
// Debug.Log(molecule);
// make your shit
//return GO
return null;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 68834abede8b8d14d93f46876f40df3e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class MoleculeFactoryTester: MonoBehaviour {
Clement marked this conversation as resolved Outdated

a delete aussi

a delete aussi
public TextAsset jsonFile;
void Start(){
MoleculeFactory factory = MoleculeFactory.getInstrance(this.jsonFile);
GameObject mol = factory.createMolecule("O2");
// mol.transform.position = new Vector3(10,0,0);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 617b4ba049dacfb4da7aa525641f8371
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,12 +1,11 @@
using System.Collections.Generic;
using System;
[System.Serializable] [System.Serializable]
public class Molecule public class Molecule
{ {
// nom molécules // nom molécules
public string name; public string name;
// formule melécule
public string formula;
// liste des atoms // liste des atoms
public Atom[] atoms; public Atom[] atoms;
@ -21,5 +20,5 @@ public class Molecule
public class Molecules public class Molecules
{ {
// liste des liason entre les atoms // liste des liason entre les atoms
public Molecule[] molecules; public Dictionary<string,Molecule> molecules;
} }

View File

@ -6,8 +6,7 @@ public class ReadMolecule : MonoBehaviour
{ {
public TextAsset jsonFile; public TextAsset jsonFile;
void Start() void Start(){
{
Molecules moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text); Molecules moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
int molNum = 0; int molNum = 0;