From 7c3aa27c71df7571a804da8cc01d53c73b5ce7cb Mon Sep 17 00:00:00 2001 From: clement Date: Thu, 11 Jan 2024 16:38:19 +0100 Subject: [PATCH] sync --- Assets/Scenes/MainMenu.unity | 170 +++++++++++++++++++- Assets/script/C.mat | 2 +- Assets/script/MoleculeDict.json | 98 +++++++++++ Assets/script/MoleculeDict.json.meta | 7 + Assets/script/MoleculeFactory.cs | 59 +++++++ Assets/script/MoleculeFactory.cs.meta | 11 ++ Assets/script/MoleculeFactoryTester.cs | 17 ++ Assets/script/MoleculeFactoryTester.cs.meta | 11 ++ Assets/script/Molecules.cs | 7 +- Assets/script/ReadMolecule.cs | 3 +- 10 files changed, 375 insertions(+), 10 deletions(-) create mode 100644 Assets/script/MoleculeDict.json create mode 100644 Assets/script/MoleculeDict.json.meta create mode 100644 Assets/script/MoleculeFactory.cs create mode 100644 Assets/script/MoleculeFactory.cs.meta create mode 100644 Assets/script/MoleculeFactoryTester.cs create mode 100644 Assets/script/MoleculeFactoryTester.cs.meta diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity index 7742fee..2c0de18 100644 --- a/Assets/Scenes/MainMenu.unity +++ b/Assets/Scenes/MainMenu.unity @@ -332,6 +332,148 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 136169417} 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 GameObject: m_ObjectHideFlags: 0 @@ -400,6 +542,12 @@ Transform: m_Children: [] m_Father: {fileID: 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 GameObject: m_ObjectHideFlags: 0 @@ -665,8 +813,9 @@ GameObject: m_Component: - component: {fileID: 799614602} - component: {fileID: 799614603} + - component: {fileID: 799614604} m_Layer: 0 - m_Name: GameObject + m_Name: Molecule parcer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -684,7 +833,9 @@ Transform: m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 678364522} + - {fileID: 529523028} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &799614603 @@ -694,12 +845,25 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 799614600} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f13310aa5828a5d47b5e83a3e9eb3fec, type: 3} m_Name: m_EditorClassIdentifier: 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 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/script/C.mat b/Assets/script/C.mat index e37d901..4058690 100644 --- a/Assets/script/C.mat +++ b/Assets/script/C.mat @@ -78,6 +78,6 @@ Material: - _UVSec: 0 - _ZWrite: 1 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} m_BuildTextureStacks: [] diff --git a/Assets/script/MoleculeDict.json b/Assets/script/MoleculeDict.json new file mode 100644 index 0000000..112654c --- /dev/null +++ b/Assets/script/MoleculeDict.json @@ -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 + } + } + } +} diff --git a/Assets/script/MoleculeDict.json.meta b/Assets/script/MoleculeDict.json.meta new file mode 100644 index 0000000..3f76a01 --- /dev/null +++ b/Assets/script/MoleculeDict.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 865ef6336b8f164428ff661758efffd1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/script/MoleculeFactory.cs b/Assets/script/MoleculeFactory.cs new file mode 100644 index 0000000..71aec46 --- /dev/null +++ b/Assets/script/MoleculeFactory.cs @@ -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 moleculesDictionary; + + public MoleculeFactory(TextAsset jsonFile){ + MoleculeFactory.instance = this; + moleculesInJson = JsonUtility.FromJson>(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; + } + +} \ No newline at end of file diff --git a/Assets/script/MoleculeFactory.cs.meta b/Assets/script/MoleculeFactory.cs.meta new file mode 100644 index 0000000..9d48356 --- /dev/null +++ b/Assets/script/MoleculeFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68834abede8b8d14d93f46876f40df3e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/script/MoleculeFactoryTester.cs b/Assets/script/MoleculeFactoryTester.cs new file mode 100644 index 0000000..c768e72 --- /dev/null +++ b/Assets/script/MoleculeFactoryTester.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + + + +class MoleculeFactoryTester: MonoBehaviour { + + public TextAsset jsonFile; + + void Start(){ + MoleculeFactory factory = MoleculeFactory.getInstrance(this.jsonFile); + GameObject mol = factory.createMolecule("O2"); +// mol.transform.position = new Vector3(10,0,0); + } +} \ No newline at end of file diff --git a/Assets/script/MoleculeFactoryTester.cs.meta b/Assets/script/MoleculeFactoryTester.cs.meta new file mode 100644 index 0000000..b3c85b3 --- /dev/null +++ b/Assets/script/MoleculeFactoryTester.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 617b4ba049dacfb4da7aa525641f8371 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/script/Molecules.cs b/Assets/script/Molecules.cs index c2f09f9..7e4d19b 100644 --- a/Assets/script/Molecules.cs +++ b/Assets/script/Molecules.cs @@ -1,12 +1,11 @@ +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; @@ -21,5 +20,5 @@ public class Molecule public class Molecules { // liste des liason entre les atoms - public Molecule[] molecules; + public Dictionary molecules; } \ No newline at end of file diff --git a/Assets/script/ReadMolecule.cs b/Assets/script/ReadMolecule.cs index 3201aff..728fb39 100644 --- a/Assets/script/ReadMolecule.cs +++ b/Assets/script/ReadMolecule.cs @@ -6,8 +6,7 @@ public class ReadMolecule : MonoBehaviour { public TextAsset jsonFile; - void Start() - { + void Start(){ Molecules moleculesInJson = JsonUtility.FromJson(jsonFile.text); int molNum = 0;