From ce99936298c60c386196258710cd5d1f85b534b4 Mon Sep 17 00:00:00 2001 From: Nicola Date: Wed, 6 May 2026 21:10:04 +0200 Subject: [PATCH] Added research display to the game --- Assets/Images/Research/BasicsSymbol.png | Bin 0 -> 135 bytes .../Images/Research/BasicsSymbol.png.import | 40 ++++++++ Assets/Images/Research/BronzeageSymbol.png | Bin 0 -> 215 bytes .../Research/BronzeageSymbol.png.import | 40 ++++++++ Assets/Images/Research/CopperageSymbol.png | Bin 0 -> 229 bytes .../Research/CopperageSymbol.png.import | 40 ++++++++ Assets/Images/Research/IronageSymbol.png | Bin 0 -> 215 bytes .../Images/Research/IronageSymbol.png.import | 40 ++++++++ Assets/Images/Research/StoneageSymbol.png | Bin 0 -> 176 bytes .../Images/Research/StoneageSymbol.png.import | 40 ++++++++ Assets/Images/Sources/BasicsSymbol.aseprite | Bin 0 -> 365 bytes .../Images/Sources/BronzeageSymbol.aseprite | Bin 0 -> 413 bytes .../Images/Sources/CopperageSymbol.aseprite | Bin 0 -> 416 bytes Assets/Images/Sources/IronageSymbol.aseprite | Bin 0 -> 416 bytes Assets/Images/Sources/StoneageSymbol.aseprite | Bin 0 -> 380 bytes Assets/Research.json | 15 ++- Scenes/Game.tscn | 14 +++ Scenes/MainMenu.tscn | 88 +++++++++--------- Scripts/Crafting/Item.cs | 3 - Scripts/Helpers/GameData.cs | 1 + Scripts/Helpers/ResourceLoader.cs | 17 ++++ Scripts/Research/Research.cs | 28 ++++++ Scripts/Research/Research.cs.uid | 1 + Scripts/Research/ResearchData.cs | 32 +++++++ Scripts/Research/ResearchData.cs.uid | 1 + Scripts/Research/ResearchDisplay.cs | 0 Scripts/Research/ResearchDisplay.cs.uid | 1 + Scripts/Research/ResearchList.cs | 57 ++++++++++++ Scripts/Research/ResearchList.cs.uid | 1 + Scripts/Research/ResearchResult.cs | 6 ++ Scripts/Research/ResearchResult.cs.uid | 1 + 31 files changed, 414 insertions(+), 52 deletions(-) create mode 100644 Assets/Images/Research/BasicsSymbol.png create mode 100644 Assets/Images/Research/BasicsSymbol.png.import create mode 100644 Assets/Images/Research/BronzeageSymbol.png create mode 100644 Assets/Images/Research/BronzeageSymbol.png.import create mode 100644 Assets/Images/Research/CopperageSymbol.png create mode 100644 Assets/Images/Research/CopperageSymbol.png.import create mode 100644 Assets/Images/Research/IronageSymbol.png create mode 100644 Assets/Images/Research/IronageSymbol.png.import create mode 100644 Assets/Images/Research/StoneageSymbol.png create mode 100644 Assets/Images/Research/StoneageSymbol.png.import create mode 100644 Assets/Images/Sources/BasicsSymbol.aseprite create mode 100644 Assets/Images/Sources/BronzeageSymbol.aseprite create mode 100644 Assets/Images/Sources/CopperageSymbol.aseprite create mode 100644 Assets/Images/Sources/IronageSymbol.aseprite create mode 100644 Assets/Images/Sources/StoneageSymbol.aseprite create mode 100644 Scripts/Research/Research.cs create mode 100644 Scripts/Research/Research.cs.uid create mode 100644 Scripts/Research/ResearchData.cs create mode 100644 Scripts/Research/ResearchData.cs.uid create mode 100644 Scripts/Research/ResearchDisplay.cs create mode 100644 Scripts/Research/ResearchDisplay.cs.uid create mode 100644 Scripts/Research/ResearchList.cs create mode 100644 Scripts/Research/ResearchList.cs.uid create mode 100644 Scripts/Research/ResearchResult.cs create mode 100644 Scripts/Research/ResearchResult.cs.uid diff --git a/Assets/Images/Research/BasicsSymbol.png b/Assets/Images/Research/BasicsSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..f851a78a89053dddc8cfa207212058ebd61a0947 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}j-D=#ArY-_ zuWjUG5a4k*`04-uGkK1ek36`yrs$$;OWk_aG`FX7Z5cIqAEd;;K38rW{(Sy^pgs_2 cuvcs_Vf-${qW56^V;zu)r>mdKI;Vst0Fq%WqW}N^ literal 0 HcmV?d00001 diff --git a/Assets/Images/Research/BasicsSymbol.png.import b/Assets/Images/Research/BasicsSymbol.png.import new file mode 100644 index 0000000..fbebc4c --- /dev/null +++ b/Assets/Images/Research/BasicsSymbol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv76v3845c3ff" +path="res://.godot/imported/BasicsSymbol.png-a01daba6cb03ee9cf8ccd4490920bec0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Research/BasicsSymbol.png" +dest_files=["res://.godot/imported/BasicsSymbol.png-a01daba6cb03ee9cf8ccd4490920bec0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Images/Research/BronzeageSymbol.png b/Assets/Images/Research/BronzeageSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..825c32004ff21fd02548f86f6c3c051a2de776a7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FprVLn2y} z6C_xfc_cbRzR!1iCbaZJefmdKI;Vst0Q>MuSpWb4 literal 0 HcmV?d00001 diff --git a/Assets/Images/Research/BronzeageSymbol.png.import b/Assets/Images/Research/BronzeageSymbol.png.import new file mode 100644 index 0000000..8c557e9 --- /dev/null +++ b/Assets/Images/Research/BronzeageSymbol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chr4p5ns0n3n5" +path="res://.godot/imported/BronzeageSymbol.png-1285905aa4eae49f9c832663e55b2f43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Research/BronzeageSymbol.png" +dest_files=["res://.godot/imported/BronzeageSymbol.png-1285905aa4eae49f9c832663e55b2f43.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Images/Research/CopperageSymbol.png b/Assets/Images/Research/CopperageSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..523d909166e855a1f257a42eb29e1441dce551f1 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^F3W0Ln2z= zPCv-opuppLaYu*v_hO-MpC4&dd|beL=)cG1318-V-oC&-ML;H5Ex|XagHzw{`M$uL z*DC^C&xDk)p5cy|^2lzl=C;MVTQ1FnKvS(cO4&Z11WOnDd z+_{CN!hN456s<38eJ)fbcjC*8-k*!EGKSsrZ!1t>e|&U(Wy3s9)vc8W_OQk^96P>5 dwLSSb>oqrNn+rz2R|B2O;OXk;vd$@?2>|ZPU7!E} literal 0 HcmV?d00001 diff --git a/Assets/Images/Research/CopperageSymbol.png.import b/Assets/Images/Research/CopperageSymbol.png.import new file mode 100644 index 0000000..7ac5f13 --- /dev/null +++ b/Assets/Images/Research/CopperageSymbol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jrv5xnbfcn2o" +path="res://.godot/imported/CopperageSymbol.png-8c4ce73b4c0fc81e445b053ca318cde1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Research/CopperageSymbol.png" +dest_files=["res://.godot/imported/CopperageSymbol.png-8c4ce73b4c0fc81e445b053ca318cde1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Images/Research/IronageSymbol.png b/Assets/Images/Research/IronageSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1616ab0fb5e3582755ae94dff08aaebb904666 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FprVLn2y} z6C_xfc_daQ9IN*_v*Zfn|NFA@T9p)1X1h(==_6v*kYwrhJ_`LC9@PPc_(mjEbV0M zZwh1=m^}4^nuXVEwxl9PJLUq*ye*DKuNr{jyli`tjkwrk7#LpNl($@XVudx(aSWcW KelF{r5}E)6c1Lvp literal 0 HcmV?d00001 diff --git a/Assets/Images/Research/IronageSymbol.png.import b/Assets/Images/Research/IronageSymbol.png.import new file mode 100644 index 0000000..933a046 --- /dev/null +++ b/Assets/Images/Research/IronageSymbol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy7c16352g6pq" +path="res://.godot/imported/IronageSymbol.png-39224787c5463ca99d1883f6a5875248.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Research/IronageSymbol.png" +dest_files=["res://.godot/imported/IronageSymbol.png-39224787c5463ca99d1883f6a5875248.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Images/Research/StoneageSymbol.png b/Assets/Images/Research/StoneageSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..c922c7715ca1867896875e4c3d7695371c4dbf73 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}S)MMAArY;~ z2@N9bOHg#wt(tTBDx*Z9pRU1! zK!aBdL7#NJl$L~9I(X?hn9a$uOggYQ;R@qoK8ex;E12D64PG@cmLF&+_i;Pez|0UA Vz;80CP#oko22WQ%mvv4FO#o09Hu(Sm literal 0 HcmV?d00001 diff --git a/Assets/Images/Research/StoneageSymbol.png.import b/Assets/Images/Research/StoneageSymbol.png.import new file mode 100644 index 0000000..254c787 --- /dev/null +++ b/Assets/Images/Research/StoneageSymbol.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://67pb1ajfs85y" +path="res://.godot/imported/StoneageSymbol.png-e2c2604dc51c02e3cc86b76cc1baf943.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Research/StoneageSymbol.png" +dest_files=["res://.godot/imported/StoneageSymbol.png-e2c2604dc51c02e3cc86b76cc1baf943.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Images/Sources/BasicsSymbol.aseprite b/Assets/Images/Sources/BasicsSymbol.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..b47e5b3958911ee973ec384677a12ab6b75e4a48 GIT binary patch literal 365 zcmd00WMFu(l#xLJ41pYm6d*r}e zfjr121!f=#1OI^xb_Sos%G4qSLpvacRe^zl1L&OpOfV$^3=#|#bCMGdF#P9Ca7tM5 dQvS_5>8tju>O<_`e&H|self(JK_hs-BLJK-O1A(2 literal 0 HcmV?d00001 diff --git a/Assets/Images/Sources/BronzeageSymbol.aseprite b/Assets/Images/Sources/BronzeageSymbol.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..0a69f27c4b447b11e98733aa33f8a04e1f9fc5d8 GIT binary patch literal 413 zcmbQs$iVPmDIyADL{+>3Ji=OK?VUJqy>-#n*Qq}3)of`pao(;%&q{o63MzO zAe)5&D5?NtC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_ zy?u#6LQ{0!!{pijRp zUq8dtQ=&cc@KKqZhps^u!Y}Qd5){rXY}>EFnO<~8@#cRMv-S!5B{r;()_a+LMJA+p cMPOdQY8mMlMN`9`O^`WvgNK1Ze#)B{0MyK1761SM literal 0 HcmV?d00001 diff --git a/Assets/Images/Sources/CopperageSymbol.aseprite b/Assets/Images/Sources/CopperageSymbol.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..9e96476a6b33eb7bba3f0d367f2c2536805f3ca5 GIT binary patch literal 416 zcmZ3$$iVPmDIyADL{+>3Ji=OK?VUJqy$n# zgKSb@29hxFAIM;5@JXypEmANn1aepvKmyDR|CwM)gczh4D&{07Ff{*HNy>Tf|F4tj zBm=(9ZQYhP4s|anP`gyya$tpJ^Ld%9Bi5=fC&(0ge6!#A&~a^zm&TmVuj~{5E#Gdr cWZHF=>B&3Z$S!+kFhOvg#6unidzOGS0MJKcb^rhX literal 0 HcmV?d00001 diff --git a/Assets/Images/Sources/IronageSymbol.aseprite b/Assets/Images/Sources/IronageSymbol.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..0b249c49517794d49a6b4bb4b99d892228f240c6 GIT binary patch literal 416 zcmZ3$$iVPmDIyADL{+>3Ji=OK?VUJqy$n# zgKSb@29hxFAIM;5@JXypEmANn1aepvKmyDR|CwM)gczh4D&{07C~*C8Km4TO|9igk zP6tzFnM#~-#}fhmI%WS-uLsv~zmJ)@`|@O}x!2$WZThTc;&Y#GziP bmy@oPIO<54rf1ANe89n_ijl!nJDUjrI+tFg literal 0 HcmV?d00001 diff --git a/Assets/Images/Sources/StoneageSymbol.aseprite b/Assets/Images/Sources/StoneageSymbol.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..717ead003a82c24913f6816185c7d6136b83bc29 GIT binary patch literal 380 zcmbr}e zfjr121!f=#1OI^xb_Sos%G4qSLth|=Re^zllYyDxKNCy|7lRZ-#hm1X16== data.CraftTime) { - GD.Print("Crafted!"); elapsedCraftTime -= data.CraftTime; if(!GameData.inventory.AddItem(this, 1)) { @@ -28,7 +26,6 @@ public class Item amountCrafted++; if (amountCrafted >= amount) { - GD.Print("Finished!"); amountCrafted = 0; elapsedCraftTime = 0; return CraftingResult.FINISHED; diff --git a/Scripts/Helpers/GameData.cs b/Scripts/Helpers/GameData.cs index dccc216..3a36efc 100644 --- a/Scripts/Helpers/GameData.cs +++ b/Scripts/Helpers/GameData.cs @@ -19,6 +19,7 @@ public partial class GameData public static float tileWidth = 6; public static float tileHeight = 4; public static SortedDictionary availableItems = ResourceLoader.LoadItems(); + public static Dictionary availableResearch = ResourceLoader.LoadResearch(); //--- PLAYER ADJUSTABLE VALUES --- //Color used in primary objects (e.g. Robots) diff --git a/Scripts/Helpers/ResourceLoader.cs b/Scripts/Helpers/ResourceLoader.cs index 2bed49c..3b51029 100644 --- a/Scripts/Helpers/ResourceLoader.cs +++ b/Scripts/Helpers/ResourceLoader.cs @@ -101,4 +101,21 @@ public partial class ResourceLoader return result; } + + public static Dictionary LoadResearch() + { + + FileAccess file = FileAccess.Open("res://Assets/Research.json", FileAccess.ModeFlags.Read); + string json = file.GetAsText(); + + Dictionary result = new(); + + List researches = JsonSerializer.Deserialize>(json); + foreach (ResearchData research in researches) + { + result.Add(research.Id, research); + } + + return result; + } } diff --git a/Scripts/Research/Research.cs b/Scripts/Research/Research.cs new file mode 100644 index 0000000..0a4c33c --- /dev/null +++ b/Scripts/Research/Research.cs @@ -0,0 +1,28 @@ +using Godot; + +public class Research +{ + public ResearchData data; + public bool isResearched = false; + public double elapsedResearchTime = 0; + public bool paidResources = false; + + public ResearchResult Execute(double delta) + { + if (!paidResources) + { + foreach (Ingredient ingredient in data.Inputs) + { + GameData.inventory.RemoveItem(ingredient.Item, ingredient.Amount); + } + paidResources = true; + } + elapsedResearchTime += delta; + if (elapsedResearchTime >= data.CraftTime) + { + isResearched = true; + return ResearchResult.FINISHED; + } + return ResearchResult.RESEARCHING; + } +} \ No newline at end of file diff --git a/Scripts/Research/Research.cs.uid b/Scripts/Research/Research.cs.uid new file mode 100644 index 0000000..372f160 --- /dev/null +++ b/Scripts/Research/Research.cs.uid @@ -0,0 +1 @@ +uid://dj2epbu26v1nv diff --git a/Scripts/Research/ResearchData.cs b/Scripts/Research/ResearchData.cs new file mode 100644 index 0000000..5d6e4e4 --- /dev/null +++ b/Scripts/Research/ResearchData.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; +using Godot; + +public class ResearchData +{ + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("inputs")] + public List Inputs { get; set; } + + [JsonPropertyName("research")] + public string Research { get; set; } + + [JsonPropertyName("crafttime")] + public double CraftTime { get; set; } + + [JsonPropertyName("texture")] + public string Texture { get; set; } + + public string GetReadableName() + { + string noUnderscore = Id.Replace("_", " ").ToLower(); + return char.ToUpper(noUnderscore[0]) + noUnderscore.Substring(1); + } + + public static string GetIndex(string readable) + { + return readable.ToLower().Replace(" ", "_"); + } +} \ No newline at end of file diff --git a/Scripts/Research/ResearchData.cs.uid b/Scripts/Research/ResearchData.cs.uid new file mode 100644 index 0000000..0f086c7 --- /dev/null +++ b/Scripts/Research/ResearchData.cs.uid @@ -0,0 +1 @@ +uid://duwl6bhiry6uh diff --git a/Scripts/Research/ResearchDisplay.cs b/Scripts/Research/ResearchDisplay.cs new file mode 100644 index 0000000..e69de29 diff --git a/Scripts/Research/ResearchDisplay.cs.uid b/Scripts/Research/ResearchDisplay.cs.uid new file mode 100644 index 0000000..6c1076f --- /dev/null +++ b/Scripts/Research/ResearchDisplay.cs.uid @@ -0,0 +1 @@ +uid://pxegmc5nenad diff --git a/Scripts/Research/ResearchList.cs b/Scripts/Research/ResearchList.cs new file mode 100644 index 0000000..77908f1 --- /dev/null +++ b/Scripts/Research/ResearchList.cs @@ -0,0 +1,57 @@ +using Godot; + +public partial class ResearchList : PanelContainer +{ + [Export] GraphEdit researchGraph; + + public override void _Ready() + { + foreach (ResearchData research in GameData.availableResearch.Values) + { + researchGraph.AddChild(CreateItemNode(research.Id, research.Texture)); + } + foreach (ResearchData research in GameData.availableResearch.Values) + { + researchGraph.ConnectNode( + research.Research, + 0, + research.Id, + 0 + ); + } + } + + public override void _Process(double delta) + { + + } + + private GraphNode CreateItemNode(string id, string texturePath) + { + TextureRect icon = new TextureRect + { + Texture = GD.Load(texturePath), + StretchMode = TextureRect.StretchModeEnum.KeepAspectCentered + }; + GraphNode node = new GraphNode + { + Name = id, + Title = id, + PositionOffset = new Vector2(GameData.availableResearch.Count * -icon.Texture.GetWidth() + researchGraph.GetChildCount() * icon.Texture.GetWidth() * 10, 0) + }; + + node.SetSlot( + 0, + true, + 0, + Colors.White, + true, + 0, + Colors.White + ); + + node.AddChild(icon); + + return node; + } +} diff --git a/Scripts/Research/ResearchList.cs.uid b/Scripts/Research/ResearchList.cs.uid new file mode 100644 index 0000000..a7c8d99 --- /dev/null +++ b/Scripts/Research/ResearchList.cs.uid @@ -0,0 +1 @@ +uid://drscsrkfphpy7 diff --git a/Scripts/Research/ResearchResult.cs b/Scripts/Research/ResearchResult.cs new file mode 100644 index 0000000..cfaab1b --- /dev/null +++ b/Scripts/Research/ResearchResult.cs @@ -0,0 +1,6 @@ +public enum ResearchResult +{ + FAILED, + RESEARCHING, + FINISHED +} \ No newline at end of file diff --git a/Scripts/Research/ResearchResult.cs.uid b/Scripts/Research/ResearchResult.cs.uid new file mode 100644 index 0000000..7c4d11f --- /dev/null +++ b/Scripts/Research/ResearchResult.cs.uid @@ -0,0 +1 @@ +uid://cuav7j7m1td2h