develop #12

Merged
Nicolas merged 57 commits from develop into main 2024-02-02 15:43:29 +00:00
8 changed files with 507 additions and 46 deletions
Showing only changes of commit f4be67ca29 - Show all commits

View File

@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
@ -33,6 +35,8 @@ public class ActiveScoppedElements : MonoBehaviour
public GameObject[] DebugObjs;
private AnimationState _animationState = AnimationState.IDLE;
private float _animationSpeed = 1.0f;
public GameObject atomPrefabToInstantiate;
private bool IsLock = false;
private AtomeFactory _atomFactory;
@ -58,7 +62,7 @@ public class ActiveScoppedElements : MonoBehaviour
{
actives.Add(name);
RefreshText();
RefreshAtom();
RefreshAtom(name);
}
}
@ -128,6 +132,11 @@ public class ActiveScoppedElements : MonoBehaviour
this._animationSpeed -= 0.5f;
}
public void onClickToggleLockMode()
{
this.IsLock = !this.IsLock;
}
void Update()
{
if (this._animationState == AnimationState.GORIGHT)
@ -223,8 +232,35 @@ public class ActiveScoppedElements : MonoBehaviour
return null;
}
private void RefreshAtom()
private void RenderAtom(String elementName)
{
var atomObject = GameObject.Find(elementName);
if (atomObject == null) {
return;
}
if (atomObject.transform.childCount >= 1) {
//atomObject.transform.GetChild(0).GetComponent<GameObject>().SetActive(true);
Debug.Log("Object already created !");
return;
}
var cleanedElement = CleanStringOfDigits(elementName);
var factory = MoleculeFactory.getInstrance(this.jsonFile);
factory.setAtomFactory(this._atomFactory);
if (!factory.GetAtomFactory().hasAtome(cleanedElement))
{
Debug.Log("No atom found with this formula '" + cleanedElement + "'");
return;
}
var obj = Instantiate(atomPrefabToInstantiate, new Vector3(0, 0, 0), Quaternion.identity);
AtomPrefab objPrefab = obj.GetComponent<AtomPrefab>();
AtomeInformation info = factory.GetAtomFactory().createAtome(cleanedElement);
objPrefab.Render(info);
}
private void RefreshAtom(String elementName)
{
RenderAtom(elementName);
var objToFind = FindGameObjectWithFormula();
if (objToFind != null)
{
@ -315,11 +351,35 @@ public class ActiveScoppedElements : MonoBehaviour
}
}
private string CleanStringOfNonDigits( string s )
{
if (string.IsNullOrEmpty(s)) return s;
StringBuilder sb = new StringBuilder(s.Length) ;
for (int i = 0; i < s.Length; ++i)
{
char c = s[i];
if ( c < '0' ) continue ;
if ( c > '9' ) continue ;
sb.Append(s[i]);
}
string cleaned = sb.ToString();
return cleaned;
}
private string CleanStringOfDigits(string s)
{
return new String(s.Where(Char.IsLetter).ToArray());
}
public void RemoveUnscoppedElement(String elementName)
{
if (this.IsLock)
{
return;
}
Debug.Log("Removed " + elementName);
actives.Remove(elementName);
RefreshText();
RefreshAtom();
RefreshAtom(elementName);
}
}

24
Assets/AtomPrefab.cs Normal file
View File

@ -0,0 +1,24 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AtomPrefab : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
public void Render(AtomeInformation info)
{
Debug.Log("Render from AtomPrefab !");
Debug.Log("+" + info.name);
}
// Update is called once per frame
void Update()
{
}
}

11
Assets/AtomPrefab.cs.meta Normal file
View File

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

46
Assets/AtomPrefab.prefab Normal file
View File

@ -0,0 +1,46 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4409383611147121166
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8219824475726194073}
- component: {fileID: -3269112147395156294}
m_Layer: 0
m_Name: AtomPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8219824475726194073
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4409383611147121166}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-3269112147395156294
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4409383611147121166}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47ead1cb7daeaeb4b95eb0a250ab16e2, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d9d5dcbc28f5ad041b1b60b004ccf890
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -262,7 +262,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2115541903}
m_TransformParent: {fileID: 2030766766}
m_Modifications:
- target: {fileID: 2296197579250447769, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_Name
@ -274,11 +274,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
value: 2.331
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.y
value: 0.234
value: -0.004999995
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.z
@ -290,15 +290,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -567,7 +567,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 231.8, y: 554}
m_AnchoredPosition: {x: 231.8, y: 692.3}
m_SizeDelta: {x: 150, y: 50.179993}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &246236246
@ -1280,7 +1280,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1344363834}
m_TransformParent: {fileID: 2030766766}
m_Modifications:
- target: {fileID: 2296197579250447769, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_Name
@ -1292,11 +1292,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
value: 3.45
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.y
value: 0.234
value: -0.004999995
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.z
@ -1308,15 +1308,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -1550,6 +1550,139 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 877453050}
m_CullTransparentMesh: 1
--- !u!1 &877864514
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 877864515}
- component: {fileID: 877864518}
- component: {fileID: 877864517}
- component: {fileID: 877864516}
m_Layer: 5
m_Name: LockBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &877864515
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 877864514}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -54}
m_LocalScale: {x: 2, y: 2, z: 2}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1963975536}
m_Father: {fileID: 1176767512}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 231.8, y: 554}
m_SizeDelta: {x: 150, y: 50.179993}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &877864516
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 877864514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 877864517}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1201501054}
m_TargetAssemblyTypeName: ActiveScoppedElements, Assembly-CSharp
m_MethodName: onClickToggleLockMode
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &877864517
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 877864514}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &877864518
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 877864514}
m_CullTransparentMesh: 1
--- !u!1 &883501566
GameObject:
m_ObjectHideFlags: 0
@ -1996,6 +2129,7 @@ RectTransform:
- {fileID: 1903101193}
- {fileID: 1640489757}
- {fileID: 246236245}
- {fileID: 877864515}
- {fileID: 418945366}
- {fileID: 595129154}
- {fileID: 245608582}
@ -2014,7 +2148,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2082618016}
m_TransformParent: {fileID: 2030766766}
m_Modifications:
- target: {fileID: 2296197579250447769, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_Name
@ -2030,7 +2164,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalPosition.y
value: 0.239
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalPosition.z
@ -2042,15 +2176,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -2119,9 +2253,11 @@ MonoBehaviour:
- {fileID: 245608581}
- {fileID: 19813356}
- {fileID: 1106826236}
- {fileID: 877864514}
DebugObjs:
- {fileID: 239149474}
- {fileID: 436501310}
atomPrefabToInstantiate: {fileID: 4409383611147121166, guid: d9d5dcbc28f5ad041b1b60b004ccf890, type: 3}
--- !u!114 &1201501055
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2188,7 +2324,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1305875256}
m_TransformParent: {fileID: 2030766766}
m_Modifications:
- target: {fileID: 2296197579250447769, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_Name
@ -2204,7 +2340,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalPosition.y
value: 0.239
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalPosition.z
@ -2216,15 +2352,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: 7c22f7e0b871cb14fa1ad0765c00dfeb, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -2413,8 +2549,7 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1292191404}
m_Children: []
m_Father: {fileID: 2141458387}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1305875257
@ -2562,8 +2697,7 @@ Transform:
m_LocalPosition: {x: 3.45, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 692418288}
m_Children: []
m_Father: {fileID: 2141458387}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1344363835
@ -2764,8 +2898,8 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontSize: 18
m_fontSizeBase: 18
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
@ -2979,8 +3113,7 @@ Transform:
m_LocalPosition: {x: 1.134, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1843136735}
m_Children: []
m_Father: {fileID: 2141458387}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1576193662
@ -3581,7 +3714,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1576193661}
m_TransformParent: {fileID: 2030766766}
m_Modifications:
- target: {fileID: 2296197579250447769, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_Name
@ -3593,11 +3726,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.x
value: 0
value: 1.134
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.y
value: 0.234
value: -0.004999995
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalPosition.z
@ -3609,15 +3742,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.x
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.y
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalRotation.z
value: 0
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -3985,6 +4118,176 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1914407046}
m_CullTransparentMesh: 1
--- !u!1 &1963975535
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1963975536}
- component: {fileID: 1963975538}
- component: {fileID: 1963975537}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1963975536
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963975535}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 877864515}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1963975537
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963975535}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Lock/Unlock
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 18
m_fontSizeBase: 18
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &1963975538
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963975535}
m_CullTransparentMesh: 1
--- !u!1 &2030766765
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2030766766}
m_Layer: 0
m_Name: TMP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &2030766766
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2030766765}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.239, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1193470964}
- {fileID: 1292191404}
- {fileID: 1843136735}
- {fileID: 52111042}
- {fileID: 692418288}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2082618015
GameObject:
m_ObjectHideFlags: 0
@ -4016,8 +4319,7 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1193470964}
m_Children: []
m_Father: {fileID: 2141458387}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2082618017
@ -4165,8 +4467,7 @@ Transform:
m_LocalPosition: {x: 2.331, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 52111042}
m_Children: []
m_Father: {fileID: 2141458387}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2115541904
@ -4598,3 +4899,4 @@ SceneRoots:
- {fileID: 1176767512}
- {fileID: 2138147404}
- {fileID: 1112541706}
- {fileID: 2030766766}

View File

@ -37,7 +37,13 @@ public class AtomeFactory : MonoBehaviour{
return AtomeFactory.instance;
}
public AtomeInformation createAtome(string symbol){
public bool hasAtome(String symbol)
{
return AtomeDictionary.ContainsKey(symbol);
}
public AtomeInformation createAtome(string symbol){
if(!AtomeDictionary.ContainsKey(symbol)){
Debug.LogError("Atome does not existe in json");
}

View File

@ -104,6 +104,11 @@ public class MoleculeFactory : MonoBehaviour{
this.atomeFactory = atomeFactory;
}
public AtomeFactory GetAtomFactory()
{
return this.atomeFactory;
}
private GameObject CreateCylinderBetweenPoints(Vector3 start, Vector3 end, float width){
var offset = end - start;
var scale = new Vector3(width, offset.magnitude / 2.0f, width);