From 7eed16cd022e32e643285055ef9b9d2cd3df6659 Mon Sep 17 00:00:00 2001 From: hzhang Date: Fri, 21 Jun 2024 20:57:19 +0800 Subject: [PATCH] ini --- .gitattributes | 2 + .gitignore | 3 + .idea/.idea.VirtualChemDemo/.idea/.gitignore | 13 ++ .../.idea.VirtualChemDemo/.idea/encodings.xml | 4 + .../.idea/indexLayout.xml | 8 + .idea/.idea.VirtualChemDemo/.idea/vcs.xml | 6 + Assets/Atom.png | Bin 0 -> 661 bytes Assets/Atom.png.import | 34 ++++ Assets/Bottle.png | Bin 0 -> 331 bytes Assets/Bottle.png.import | 34 ++++ Assets/ConnectPendingAtom.png | Bin 0 -> 681 bytes Assets/ConnectPendingAtom.png.import | 34 ++++ Assets/Content.png | Bin 0 -> 228 bytes Assets/Content.png.import | 34 ++++ Assets/Flask.png | Bin 0 -> 1347 bytes Assets/Flask.png.import | 34 ++++ Assets/FlaskContent.png | Bin 0 -> 115 bytes Assets/FlaskContent.png.import | 34 ++++ Assets/FlaskSeperator.png | Bin 0 -> 131 bytes Assets/FlaskSeperator.png.import | 34 ++++ GlobalAccess/GlobalScene.cs | 11 ++ Scenes/AddAtom.cs | 31 ++++ Scenes/Atom.cs | 31 ++++ Scenes/Atom.tscn | 41 +++++ Scenes/AtomActions.cs | 66 ++++++++ Scenes/Bond.cs | 34 ++++ Scenes/Bond.tscn | 18 +++ Scenes/Bottle.cs | 92 +++++++++++ Scenes/Bottle.tscn | 19 +++ Scenes/CompoundConstructor.cs | 146 ++++++++++++++++++ Scenes/CompoundConstructor.tscn | 43 ++++++ Scenes/Flask.cs | 60 +++++++ Scenes/Flask.tscn | 10 ++ Scenes/FlaskContent.cs | 65 ++++++++ Scenes/FlaskContent.tscn | 84 ++++++++++ Scenes/MainControlPanel.cs | 80 ++++++++++ Scenes/MainControlPanel.tscn | 123 +++++++++++++++ Scenes/MainScene.cs | 46 ++++++ Scenes/MainScene.tscn | 9 ++ Scenes/StringLoader.cs | 35 +++++ Scenes/StringLoader.tscn | 43 ++++++ Scenes/VirtualChemDemo.cs | 30 ++++ Scenes/VirtualChemDemo.tscn | 87 +++++++++++ VirtualChemDemo.csproj | 12 ++ VirtualChemDemo.sln | 51 ++++++ icon.svg | 1 + icon.svg.import | 37 +++++ project.godot | 20 +++ 48 files changed, 1599 insertions(+) create mode 100755 .gitattributes create mode 100755 .gitignore create mode 100755 .idea/.idea.VirtualChemDemo/.idea/.gitignore create mode 100755 .idea/.idea.VirtualChemDemo/.idea/encodings.xml create mode 100755 .idea/.idea.VirtualChemDemo/.idea/indexLayout.xml create mode 100644 .idea/.idea.VirtualChemDemo/.idea/vcs.xml create mode 100755 Assets/Atom.png create mode 100755 Assets/Atom.png.import create mode 100755 Assets/Bottle.png create mode 100755 Assets/Bottle.png.import create mode 100755 Assets/ConnectPendingAtom.png create mode 100755 Assets/ConnectPendingAtom.png.import create mode 100755 Assets/Content.png create mode 100755 Assets/Content.png.import create mode 100755 Assets/Flask.png create mode 100755 Assets/Flask.png.import create mode 100755 Assets/FlaskContent.png create mode 100755 Assets/FlaskContent.png.import create mode 100755 Assets/FlaskSeperator.png create mode 100755 Assets/FlaskSeperator.png.import create mode 100755 GlobalAccess/GlobalScene.cs create mode 100755 Scenes/AddAtom.cs create mode 100755 Scenes/Atom.cs create mode 100644 Scenes/Atom.tscn create mode 100755 Scenes/AtomActions.cs create mode 100755 Scenes/Bond.cs create mode 100644 Scenes/Bond.tscn create mode 100755 Scenes/Bottle.cs create mode 100644 Scenes/Bottle.tscn create mode 100755 Scenes/CompoundConstructor.cs create mode 100644 Scenes/CompoundConstructor.tscn create mode 100755 Scenes/Flask.cs create mode 100644 Scenes/Flask.tscn create mode 100755 Scenes/FlaskContent.cs create mode 100644 Scenes/FlaskContent.tscn create mode 100644 Scenes/MainControlPanel.cs create mode 100644 Scenes/MainControlPanel.tscn create mode 100644 Scenes/MainScene.cs create mode 100644 Scenes/MainScene.tscn create mode 100644 Scenes/StringLoader.cs create mode 100644 Scenes/StringLoader.tscn create mode 100755 Scenes/VirtualChemDemo.cs create mode 100644 Scenes/VirtualChemDemo.tscn create mode 100755 VirtualChemDemo.csproj create mode 100755 VirtualChemDemo.sln create mode 100755 icon.svg create mode 100755 icon.svg.import create mode 100644 project.godot diff --git a/.gitattributes b/.gitattributes new file mode 100755 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..7de8ea5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +android/ diff --git a/.idea/.idea.VirtualChemDemo/.idea/.gitignore b/.idea/.idea.VirtualChemDemo/.idea/.gitignore new file mode 100755 index 0000000..6e5e29f --- /dev/null +++ b/.idea/.idea.VirtualChemDemo/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/projectSettingsUpdater.xml +/modules.xml +/contentModel.xml +/.idea.VirtualChemDemo.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.VirtualChemDemo/.idea/encodings.xml b/.idea/.idea.VirtualChemDemo/.idea/encodings.xml new file mode 100755 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.VirtualChemDemo/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.VirtualChemDemo/.idea/indexLayout.xml b/.idea/.idea.VirtualChemDemo/.idea/indexLayout.xml new file mode 100755 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.VirtualChemDemo/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.VirtualChemDemo/.idea/vcs.xml b/.idea/.idea.VirtualChemDemo/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.VirtualChemDemo/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Atom.png b/Assets/Atom.png new file mode 100755 index 0000000000000000000000000000000000000000..03eef743bfb8b212139541a78a292028001e556f GIT binary patch literal 661 zcmV;G0&4wPx%Pf0{URCt{2Tf1(v> zx-s#CcRb23a(I0|{{q0*=Y2q7{CvNCNVXfN$F+1UgqM;Bml6)`S5lBU>$#i|Abk-Y z=H~h%w;0(R;2@osgM$2rFl76=IVE82M79O_=AnQ4Cu|NUC>B z)}`dn!tL(D?G}zm5h7ZEgse+RyC4x`79v)JC;=kKZzb)5PmClH!~zJ(mm<#L5+YiJ zl$E|Vc|sNuf&%Q6JYlm4UI7H;YZ2$L2_X`}DS#sKgd`D8f&*(H57=W0UZ$-MFtV?O zya}fhY%W+iAoUSe18m%UC7?0;Kx8Q_NO!-?$4jmw|QlH!%zF%>LZkNcl3P(FLNISD(il`93KAMDBBd?TVnm3EoZ- zj+Fo{uLU-4k{%&Vr4ZE}0>~CYEu|1;eL`=O3my5;jgo|&itwCPS;Edlcy6;a;n3~! zghLNZ5Dq;uW1_;)l!>UUyQbkbO^uDy<7$XtW<$-`T()`P!t;aKh;t`on;fNpm=HYh v-Hpx`ofyy6eOlrPm7Gv?dYlKo$MN|;@QnhVxmM0a00000NkvXXu0mjf|H&h8 literal 0 HcmV?d00001 diff --git a/Assets/Atom.png.import b/Assets/Atom.png.import new file mode 100755 index 0000000..051f9fd --- /dev/null +++ b/Assets/Atom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwdq5w17xjv18" +path="res://.godot/imported/Atom.png-82387415c8a4b737bd2c35a7fc20bb08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Atom.png" +dest_files=["res://.godot/imported/Atom.png-82387415c8a4b737bd2c35a7fc20bb08.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Bottle.png b/Assets/Bottle.png new file mode 100755 index 0000000000000000000000000000000000000000..9861c9d383fb674bc2568e3adfbb45423bafbbc1 GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zSv_4GLn`LH zooUF|Y#_k$RzrT#6K5Oc&?SEw`2#QZ>W(ZxJCaPIZjTlt+efhI68Xs$e! zblGCd+se4G%(ogTO7`mYY+B9vT}uCZ4jl~+uWMgtxy1iKY-olQd+5sfGp2_Isn;?+ zNp~m_Dhr!u{2*(K&}B)dSIhhv*mkh)=&TU#*~j8}+mwVG8r7u zJ-`c65Lnjeyye<1zmHL-zQ-pu+&ii5xt|p-dyru}gSo^5u?K9-cbM)(@T^!hyNBU+ zZh`T`pB0h%ZZEetG_9y_T;4O=juE6vZ7<^~vx=GTYur8NgS^tPWe?+X8MV86lyVn> N_@1tQF6*2UngChoe{28% literal 0 HcmV?d00001 diff --git a/Assets/Bottle.png.import b/Assets/Bottle.png.import new file mode 100755 index 0000000..b64decd --- /dev/null +++ b/Assets/Bottle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnfv1cab4fbb1" +path="res://.godot/imported/Bottle.png-5cc68d0152334bdf774876c7b2f304da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Bottle.png" +dest_files=["res://.godot/imported/Bottle.png-5cc68d0152334bdf774876c7b2f304da.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/ConnectPendingAtom.png b/Assets/ConnectPendingAtom.png new file mode 100755 index 0000000000000000000000000000000000000000..4e43597bea3712f3dc2a801e60adcf5cbbeb8256 GIT binary patch literal 681 zcmV;a0#^NrP)Px%V@X6oRCt{2n@vu`Fc5_&-BeVndH^;(13M%RQB~?SdKj*Ogg68eJI>Gz2dF9) zbp@*lX5yc5Y{wqQpVSQviQn@Z*GcT|;py=Q0O0feql3h}ygk2ijyvp*`_yegx|9ZR z1-nRTNH02;5jN55)p^S~$K|>?nZAo{Ml=I-!nuN7=nRQv#6YaC5h;aJQW&ua`Da!9 zdUf97C*+(qbk_(SXQITND|)&7zULfwyWM?pj-!bflLl`CXs^4D=ZZGLF+(-N*90#E zxZ*=ao3NQN)&#Zz9Pz1yQ%pvTF~NJJ&n+H_WrEXy62&7iOt2c@5}!*rMP~%p1fu~` z#3N%(a886IhzHQOiSsk9O#t@36!9vyBocGnRnF-Usk6g?}X=IrWY){&ky&q;KxVyVM#VP`G4btn({8w+2O{c)FW1cp zKOyI|p}R)t)IHjESt%PQX%Z&gFI>Xb+2jVOl)QNwjYz&_UZte%^Ju^?bzI(9kewQE P00000NkvXXu0mjf>Z3BK literal 0 HcmV?d00001 diff --git a/Assets/ConnectPendingAtom.png.import b/Assets/ConnectPendingAtom.png.import new file mode 100755 index 0000000..fbf8c8a --- /dev/null +++ b/Assets/ConnectPendingAtom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5rdjefwmh10t" +path="res://.godot/imported/ConnectPendingAtom.png-20c452cc3a92c27df01519b154992d5c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/ConnectPendingAtom.png" +dest_files=["res://.godot/imported/ConnectPendingAtom.png-20c452cc3a92c27df01519b154992d5c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Content.png b/Assets/Content.png new file mode 100755 index 0000000000000000000000000000000000000000..8abfaa9eb7b4cccb952921ee5cb3e6362c122f17 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|=6Sj}hE&XX zd&80MkO2?N0hW*d_1mlYr#hH%e>%f_>Fu$Jx7M%%)iE59*`58c_}t2v{P%Y!eZ9Ex zg}r9})~e_0SE(Ol3DLc>_j7pYWP>^;kqLYgmNk?#Y)OB0FgCvIeV5OH^?UwA^)y6(ZKZC!?CjU5&s6PnKYwgwm%H`HDGB6li;eNMK!huKr Qdk4q`p00i_>zopr06ITeO8@`> literal 0 HcmV?d00001 diff --git a/Assets/Content.png.import b/Assets/Content.png.import new file mode 100755 index 0000000..731b7db --- /dev/null +++ b/Assets/Content.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daq4xhxh3x5s8" +path="res://.godot/imported/Content.png-8bacee953efbc1db37a83269b1f6ac9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Content.png" +dest_files=["res://.godot/imported/Content.png-8bacee953efbc1db37a83269b1f6ac9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Flask.png b/Assets/Flask.png new file mode 100755 index 0000000000000000000000000000000000000000..03ee070fe9730c9bbfbd0d7c28044f4a017a127f GIT binary patch literal 1347 zcmeAS@N?(olHy`uVBq!ia0vp^4GauS3><7gmX~0P6_8>q4sv&5Sa(k5B?AM?Ur!gu zkcv5PuWjUFG8ACA82j;m{m&d1>78aL_Jpe(HEZNiw2r?XuxWm3Ox@LYJN|4r{*t+1 z8p9(Nf$w`}zCGLX|MTbd&sjT!9p-?<)Eg`qk8mpZF%&Y53XO)uXqp(!3WKCj*lt`r p*N)|R1tYkW+EM%dAEWPYCS60$KVs88)PbcUgQu&X%Q~loCIC{GbHM-r literal 0 HcmV?d00001 diff --git a/Assets/Flask.png.import b/Assets/Flask.png.import new file mode 100755 index 0000000..79f3807 --- /dev/null +++ b/Assets/Flask.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chx2yte05x4lj" +path="res://.godot/imported/Flask.png-e92b272abe676f7b1b1836b6e73ea766.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Flask.png" +dest_files=["res://.godot/imported/Flask.png-e92b272abe676f7b1b1836b6e73ea766.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/FlaskContent.png b/Assets/FlaskContent.png new file mode 100755 index 0000000000000000000000000000000000000000..e25f475475cd9fd80df0007a3721045858303824 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^4M5Do!3HGVTr#}JRs zw^ujvG8hOPa6OfsS3r#n Mp00i_>zopr01sOrv;Y7A literal 0 HcmV?d00001 diff --git a/Assets/FlaskContent.png.import b/Assets/FlaskContent.png.import new file mode 100755 index 0000000..fd72a22 --- /dev/null +++ b/Assets/FlaskContent.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcly47aut0nc4" +path="res://.godot/imported/FlaskContent.png-c312b67a447fe1f204fda81bc9550539.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/FlaskContent.png" +dest_files=["res://.godot/imported/FlaskContent.png-c312b67a447fe1f204fda81bc9550539.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/FlaskSeperator.png b/Assets/FlaskSeperator.png new file mode 100755 index 0000000000000000000000000000000000000000..55de6fe073130430f8f913583a36b2571760befb GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^3xJq~gAGV>I+9UHzopr0Q)l|&j0`b literal 0 HcmV?d00001 diff --git a/Assets/FlaskSeperator.png.import b/Assets/FlaskSeperator.png.import new file mode 100755 index 0000000..56e7d1c --- /dev/null +++ b/Assets/FlaskSeperator.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5g6vjintef0" +path="res://.godot/imported/FlaskSeperator.png-420534126e054a5f806c5803d478669e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/FlaskSeperator.png" +dest_files=["res://.godot/imported/FlaskSeperator.png-420534126e054a5f806c5803d478669e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/GlobalAccess/GlobalScene.cs b/GlobalAccess/GlobalScene.cs new file mode 100755 index 0000000..6dfe167 --- /dev/null +++ b/GlobalAccess/GlobalScene.cs @@ -0,0 +1,11 @@ +public static class GlobalScene +{ + public static MainScene MainScene { get; set; } + public static CompoundConstructor CompoundConstructor { get; set; } + public static VirtualChemDemo Demo { get; set; } + public static MainControlPanel MainControlPanel { get; set; } + public static Flask Flask { get; set; } + + public static StringLoader StringLoader { get; set; } +} + diff --git a/Scenes/AddAtom.cs b/Scenes/AddAtom.cs new file mode 100755 index 0000000..3a173a0 --- /dev/null +++ b/Scenes/AddAtom.cs @@ -0,0 +1,31 @@ +using Godot; +using VirtualChemistry.Constants; + +public partial class AddAtom : MenuButton +{ + public CompoundConstructor CompoundConstructor => GlobalScene.CompoundConstructor; + + private void BuildMenu() + { + PopupMenu menu = GetPopup(); + menu.Clear(); + foreach (var w in menu.GetSignalConnectionList(PopupMenu.SignalName.IdPressed)) + menu.Disconnect(PopupMenu.SignalName.IdPressed, w["callable"].AsCallable()); + for (int i = 1; i <= 15; i++) + menu.AddItem(ChemistryConstant.ElementSymbols[i-1], i); + menu.Connect(PopupMenu.SignalName.IdPressed, Callable.From((int idx) => MenuHandle(idx))); + } + + private void MenuHandle(int idx) => CompoundConstructor.AddAtomOf(idx); + + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + BuildMenu(); + } + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + } +} diff --git a/Scenes/Atom.cs b/Scenes/Atom.cs new file mode 100755 index 0000000..81a59a4 --- /dev/null +++ b/Scenes/Atom.cs @@ -0,0 +1,31 @@ +using Godot; +using VirtualChemistry.Chemistry.Atoms.Implements; + +public partial class Atom : TextureRect +{ + private Sprite2D ConnectPending { get; set; } + private Label PendingBond { get; set; } + public BaseAtom BaseAtom { get; set; } = BaseAtom.Null; + private Label ElementName { get; set; } + public AtomActions AtomActions { get; set; } + + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + ElementName = GetNode