Squashed commit of the following:
commit807aa8c3c6
Merge:34f74aa
3777d06
Author: Clement <clement@jo85.com> Date: Thu Jan 18 12:02:57 2024 +0100 Merge pull request 'add Atomes Factory' (#10) from feature/AtomesFactory into develop Reviewed-on: #10 Reviewed-by: Clement <clement@jo85.com> commit3777d06a0e
Author: Mathis <mathis.ragot@epitech.eu> Date: Thu Jan 18 12:00:00 2024 +0100 Rename Classname commit16bd5bfb6c
Merge:da9d57b
34f74aa
Author: Mathis <mathis.ragot@epitech.eu> Date: Thu Jan 18 11:46:03 2024 +0100 Merge remote-tracking branch 'origin/develop' into feature/AtomesFactory commitda9d57b0bb
Author: Mathis <mathis.ragot@epitech.eu> Date: Thu Jan 18 11:44:22 2024 +0100 vue foria config commit5346e596c8
Author: Mathis <mathis.ragot@epitech.eu> Date: Thu Jan 18 11:28:02 2024 +0100 [feature/AtomesFactory] - remove testing file commitf613217658
Author: Mathis <mathis.ragot@epitech.eu> Date: Thu Jan 18 10:38:59 2024 +0100 [feature/AtomesFactory] - Add json for atomes commitbc2b9e02fd
Author: Mathis <mathis.ragot@epitech.eu> Date: Fri Jan 12 15:37:09 2024 +0100 add Atomes Factory commit34f74aa443
Merge:8b6d07f
f181fd9
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:50:43 2024 +0100 Merge pull request 'feature/multi_targets' (#7) from feature/multi_targets into develop Reviewed-on: #7 Reviewed-by: Clement <clement@jo85.com> commitf181fd9935
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:50:10 2024 +0100 fix du mauvais nom de scene dans le script ChangeScene.cs commit1c76868eee
Merge:f1ec062
8b6d07f
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:39:02 2024 +0100 Merge remote-tracking branch 'origin/develop' into feature/multi_targets commitf1ec062047
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:37:29 2024 +0100 ajout du font fallback commit9c23975b20
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:36:49 2024 +0100 rajouts des fonts text mesh pro commitaff9df22cf
Merge:a791273
73394e5
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 11:03:32 2024 +0100 Merge remote-tracking branch 'origin/develop' into feature/multi_targets commita7912733e5
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 10:54:51 2024 +0100 Ajout dans le canvas d'éléments UI (nom, description....) commit0313fe28a1
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Jan 12 09:57:07 2024 +0100 Suppression du build de la CI commit5237a32bb4
Author: Nicolas <nicolas.sansd@gmail.com> Date: Thu Jan 11 16:18:35 2024 +0100 ajout de la keystore de debug (user) + changement de la target version d'android commitafa265dd31
Author: Nicolas <nicolas.sansd@gmail.com> Date: Thu Jan 11 11:26:53 2024 +0100 Affichage des molécules unitairement et en mode fusion commit84136dcc5c
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Dec 22 15:05:47 2023 +0100 MAJ du fichier d'action build.yaml commitce3c956544
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Dec 22 15:02:10 2023 +0100 MAJ du fichier d'action build.yaml commit8f105732f7
Author: Nicolas <nicolas.sansd@gmail.com> Date: Fri Dec 22 14:36:52 2023 +0100 Ajout de la multitarget pour générer un préfab
This commit is contained in:
49
Assets/script/AtomeFactory.cs
Normal file
49
Assets/script/AtomeFactory.cs
Normal file
@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
|
||||
public class AtomeFactory : MonoBehaviour{
|
||||
|
||||
public TextAsset jsonFile;
|
||||
|
||||
private static AtomeFactory instance;
|
||||
|
||||
private AtomesInformation atomeInJson;
|
||||
|
||||
private Dictionary<string, AtomeInformation> AtomeDictionary;
|
||||
|
||||
public AtomeFactory(TextAsset jsonFile){
|
||||
AtomeFactory.instance = this;
|
||||
AtomeDictionary = new Dictionary<string, AtomeInformation>();
|
||||
atomeInJson = JsonUtility.FromJson<AtomesInformation>(jsonFile.text);
|
||||
foreach (var atome in atomeInJson.atomes){
|
||||
AtomeDictionary.Add(atome.symbol, atome);
|
||||
}
|
||||
}
|
||||
|
||||
public static AtomeFactory getInstrance(){
|
||||
if(AtomeFactory.instance == null){
|
||||
Debug.LogError("no Json file");
|
||||
}
|
||||
return AtomeFactory.instance;
|
||||
}
|
||||
|
||||
public static AtomeFactory getInstrance(TextAsset jsonFile){
|
||||
if(AtomeFactory.instance == null){
|
||||
AtomeFactory.instance = new AtomeFactory(jsonFile);
|
||||
}
|
||||
return AtomeFactory.instance;
|
||||
}
|
||||
|
||||
public AtomeInformation createAtome(string symbol){
|
||||
if(!AtomeDictionary.ContainsKey(symbol)){
|
||||
Debug.LogError("Atome does not existe in json");
|
||||
}
|
||||
AtomeInformation atome = AtomeDictionary[symbol];
|
||||
|
||||
return atome;
|
||||
}
|
||||
|
||||
}
|
11
Assets/script/AtomeFactory.cs.meta
Normal file
11
Assets/script/AtomeFactory.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 455447ed8d2676a4ba2d5cf8247bd83c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
37
Assets/script/AtomeInformation.cs
Normal file
37
Assets/script/AtomeInformation.cs
Normal file
@ -0,0 +1,37 @@
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
[System.Serializable]
|
||||
public class AtomeProps {
|
||||
public string yeardiscovered;
|
||||
public string atomicmass;
|
||||
public string standardstate;
|
||||
public string groupblock;
|
||||
public string discovered_by;
|
||||
public string named_by;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class Representation {
|
||||
public string color;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class AtomeInformation
|
||||
{
|
||||
public int atomicNumber;
|
||||
public string symbol;
|
||||
public string name;
|
||||
public int protons;
|
||||
public int neutrons;
|
||||
public AtomeProps properties;
|
||||
public Representation representation;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class AtomesInformation
|
||||
{
|
||||
// liste des liason entre les atoms
|
||||
public AtomeInformation[] atomes;
|
||||
}
|
11
Assets/script/AtomeInformation.cs.meta
Normal file
11
Assets/script/AtomeInformation.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2ff888d2e46a254ebb339c8dd3ed083
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
2128
Assets/script/atomes.json
Normal file
2128
Assets/script/atomes.json
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/script/atomes.json.meta
Normal file
7
Assets/script/atomes.json.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab8f44086e6af6f48a38b7d7d595e9a2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user