├── .gitignore ├── Demo Images ├── ClickButton.gif └── TodoList.gif ├── Demo Scenes ├── AnimatedClickButton.tscn ├── ClickButton.tscn ├── Inventory.tscn └── TodoList.tscn ├── Demo Textures ├── ItemPickaxe.png ├── ItemRock.png ├── ItemSteel.png ├── ItemStick.png ├── ItemSword.png └── TrashCan.png ├── Fonts └── JetBrains │ ├── AUTHORS.txt │ ├── OFL.txt │ └── fonts │ ├── ttf │ ├── JetBrainsMono-Bold.ttf │ ├── JetBrainsMono-BoldItalic.ttf │ ├── JetBrainsMono-ExtraBold.ttf │ ├── JetBrainsMono-ExtraBoldItalic.ttf │ ├── JetBrainsMono-ExtraLight.ttf │ ├── JetBrainsMono-ExtraLightItalic.ttf │ ├── JetBrainsMono-Italic.ttf │ ├── JetBrainsMono-Light.ttf │ ├── JetBrainsMono-LightItalic.ttf │ ├── JetBrainsMono-Medium.ttf │ ├── JetBrainsMono-MediumItalic.ttf │ ├── JetBrainsMono-Regular.ttf │ ├── JetBrainsMono-Thin.ttf │ ├── JetBrainsMono-ThinItalic.ttf │ ├── JetBrainsMonoNL-Bold.ttf │ ├── JetBrainsMonoNL-BoldItalic.ttf │ ├── JetBrainsMonoNL-ExtraBold.ttf │ ├── JetBrainsMonoNL-ExtraBoldItalic.ttf │ ├── JetBrainsMonoNL-ExtraLight.ttf │ ├── JetBrainsMonoNL-ExtraLightItalic.ttf │ ├── JetBrainsMonoNL-Italic.ttf │ ├── JetBrainsMonoNL-Light.ttf │ ├── JetBrainsMonoNL-LightItalic.ttf │ ├── JetBrainsMonoNL-Medium.ttf │ ├── JetBrainsMonoNL-MediumItalic.ttf │ ├── JetBrainsMonoNL-Regular.ttf │ ├── JetBrainsMonoNL-Thin.ttf │ └── JetBrainsMonoNL-ThinItalic.ttf │ ├── variable │ ├── JetBrainsMono-Italic[wght].ttf │ └── JetBrainsMono[wght].ttf │ └── webfonts │ ├── JetBrainsMono-Bold.woff2 │ ├── JetBrainsMono-BoldItalic.woff2 │ ├── JetBrainsMono-ExtraBold.woff2 │ ├── JetBrainsMono-ExtraBoldItalic.woff2 │ ├── JetBrainsMono-ExtraLight.woff2 │ ├── JetBrainsMono-ExtraLightItalic.woff2 │ ├── JetBrainsMono-Italic.woff2 │ ├── JetBrainsMono-Light.woff2 │ ├── JetBrainsMono-LightItalic.woff2 │ ├── JetBrainsMono-Medium.woff2 │ ├── JetBrainsMono-MediumItalic.woff2 │ ├── JetBrainsMono-Regular.woff2 │ ├── JetBrainsMono-Thin.woff2 │ └── JetBrainsMono-ThinItalic.woff2 ├── LICENSE ├── Scripts ├── Demos │ ├── Animated Click Button │ │ └── AnimatedClickButton.gdx │ ├── Click button │ │ └── ClickButton.gdx │ ├── Inventory │ │ ├── Inventory.gd │ │ ├── InventoryButtons.gdx │ │ ├── InventoryClickButton.gdx │ │ ├── InventoryItemDescription.gdx │ │ ├── InventorySlot.gdx │ │ ├── InventorySlotsContainer.gdx │ │ ├── InventoryTrashCan.gdx │ │ └── InventoryUI.gdx │ └── Todo list │ │ ├── TodoList.gdx │ │ ├── TodoListInputField.gdx │ │ └── TodoListTask.gdx └── FlexGridContainer.gd ├── addons └── ReactGD │ ├── Classes │ ├── ReactComponent.gd │ └── ReactUI.gd │ ├── ReactGDImportPlugin.gd │ ├── ReactGDPlugin.gd │ ├── Utility │ ├── ReactGDDictionaryMethods.gd │ ├── ReactGDTokenizer.gd │ └── ReactGDXParser.gd │ └── plugin.cfg ├── default_env.tres ├── icon.png ├── project.godot └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Godot-specific ignores 2 | .import/ 3 | export.cfg 4 | export_presets.cfg 5 | *.import 6 | 7 | # Imported translations (automatically generated from CSV files) 8 | *.translation 9 | 10 | # Mono-specific ignores 11 | .mono/ 12 | data_*/ -------------------------------------------------------------------------------- /Demo Images/ClickButton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Images/ClickButton.gif -------------------------------------------------------------------------------- /Demo Images/TodoList.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Images/TodoList.gif -------------------------------------------------------------------------------- /Demo Scenes/AnimatedClickButton.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://Scripts/Demos/Animated Click Button/AnimatedClickButton.gdx" type="Script" id=1] 4 | 5 | [node name="AnimatedClickButton" type="Control"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | script = ExtResource( 1 ) 9 | __meta__ = { 10 | "_edit_use_anchors_": false 11 | } 12 | -------------------------------------------------------------------------------- /Demo Scenes/ClickButton.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://Scripts/Demos/Click button/ClickButton.gdx" type="Script" id=1] 4 | 5 | [node name="ClickButton" type="Control"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | rect_pivot_offset = Vector2( 512, 300 ) 9 | script = ExtResource( 1 ) 10 | __meta__ = { 11 | "_edit_use_anchors_": false 12 | } 13 | -------------------------------------------------------------------------------- /Demo Scenes/Inventory.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=25 format=2] 2 | 3 | [ext_resource path="res://Scripts/FlexGridContainer.gd" type="Script" id=1] 4 | [ext_resource path="res://Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraBold.ttf" type="DynamicFontData" id=2] 5 | [ext_resource path="res://Fonts/JetBrains/fonts/ttf/JetBrainsMono-Bold.ttf" type="DynamicFontData" id=3] 6 | [ext_resource path="res://Scripts/Demos/Inventory/InventoryUI.gdx" type="Script" id=4] 7 | [ext_resource path="res://Demo Textures/ItemStick.png" type="Texture" id=5] 8 | [ext_resource path="res://Fonts/JetBrains/fonts/ttf/JetBrainsMono-Medium.ttf" type="DynamicFontData" id=6] 9 | [ext_resource path="res://Demo Textures/TrashCan.png" type="Texture" id=7] 10 | 11 | [sub_resource type="StyleBoxFlat" id=1] 12 | content_margin_left = 32.0 13 | content_margin_right = 32.0 14 | content_margin_top = 32.0 15 | content_margin_bottom = 32.0 16 | bg_color = Color( 0.176471, 0.0784314, 0.172549, 1 ) 17 | corner_radius_top_left = 32 18 | corner_radius_top_right = 32 19 | corner_radius_bottom_right = 32 20 | corner_radius_bottom_left = 32 21 | 22 | [sub_resource type="DynamicFont" id=2] 23 | size = 32 24 | use_filter = true 25 | font_data = ExtResource( 2 ) 26 | 27 | [sub_resource type="StyleBoxFlat" id=3] 28 | bg_color = Color( 0.933333, 0.270588, 0.25098, 0 ) 29 | border_width_left = 2 30 | border_width_top = 2 31 | border_width_right = 2 32 | border_width_bottom = 2 33 | border_color = Color( 0.933333, 0.270588, 0.25098, 0.490196 ) 34 | corner_radius_top_left = 4 35 | corner_radius_top_right = 4 36 | corner_radius_bottom_right = 4 37 | corner_radius_bottom_left = 4 38 | 39 | [sub_resource type="DynamicFont" id=4] 40 | outline_size = 1 41 | outline_color = Color( 0, 0, 0, 1 ) 42 | use_filter = true 43 | font_data = ExtResource( 3 ) 44 | 45 | [sub_resource type="StyleBoxFlat" id=5] 46 | bg_color = Color( 0.933333, 0.270588, 0.25098, 1 ) 47 | corner_radius_top_left = 32 48 | corner_radius_top_right = 32 49 | corner_radius_bottom_right = 32 50 | corner_radius_bottom_left = 32 51 | expand_margin_left = 2.0 52 | expand_margin_right = 2.0 53 | 54 | [sub_resource type="DynamicFont" id=6] 55 | size = 24 56 | use_filter = true 57 | font_data = ExtResource( 2 ) 58 | 59 | [sub_resource type="StyleBoxFlat" id=7] 60 | bg_color = Color( 0.933333, 0.270588, 0.25098, 1 ) 61 | corner_radius_top_left = 32 62 | corner_radius_top_right = 32 63 | corner_radius_bottom_right = 32 64 | corner_radius_bottom_left = 32 65 | expand_margin_top = 1.0 66 | expand_margin_bottom = 1.0 67 | 68 | [sub_resource type="DynamicFont" id=16] 69 | use_filter = true 70 | font_data = ExtResource( 6 ) 71 | 72 | [sub_resource type="DynamicFont" id=17] 73 | use_filter = true 74 | font_data = ExtResource( 6 ) 75 | 76 | [sub_resource type="DynamicFont" id=18] 77 | use_filter = true 78 | font_data = ExtResource( 6 ) 79 | 80 | [sub_resource type="DynamicFont" id=19] 81 | use_filter = true 82 | font_data = ExtResource( 6 ) 83 | 84 | [sub_resource type="DynamicFont" id=8] 85 | use_filter = true 86 | font_data = ExtResource( 6 ) 87 | 88 | [sub_resource type="StyleBoxFlat" id=15] 89 | content_margin_left = 16.0 90 | content_margin_right = 16.0 91 | content_margin_top = 16.0 92 | content_margin_bottom = 16.0 93 | bg_color = Color( 0.176471, 0.0784314, 0.172549, 1 ) 94 | corner_radius_top_left = 16 95 | corner_radius_top_right = 16 96 | corner_radius_bottom_right = 16 97 | corner_radius_bottom_left = 16 98 | 99 | [sub_resource type="DynamicFont" id=12] 100 | use_filter = true 101 | font_data = ExtResource( 3 ) 102 | 103 | [sub_resource type="StyleBoxFlat" id=9] 104 | content_margin_left = 8.0 105 | content_margin_right = 8.0 106 | content_margin_top = 4.0 107 | content_margin_bottom = 4.0 108 | bg_color = Color( 0.2, 0.0980392, 0.27451, 1 ) 109 | corner_radius_top_left = 16 110 | corner_radius_top_right = 16 111 | corner_radius_bottom_right = 16 112 | corner_radius_bottom_left = 16 113 | 114 | [sub_resource type="StyleBoxFlat" id=10] 115 | content_margin_left = 8.0 116 | content_margin_right = 8.0 117 | content_margin_top = 4.0 118 | content_margin_bottom = 4.0 119 | bg_color = Color( 0.0862745, 0.0352941, 0.121569, 1 ) 120 | corner_radius_top_left = 16 121 | corner_radius_top_right = 16 122 | corner_radius_bottom_right = 16 123 | corner_radius_bottom_left = 16 124 | 125 | [sub_resource type="StyleBoxFlat" id=11] 126 | content_margin_left = 8.0 127 | content_margin_right = 8.0 128 | content_margin_top = 4.0 129 | content_margin_bottom = 4.0 130 | bg_color = Color( 0.933333, 0.270588, 0.25098, 1 ) 131 | corner_radius_top_left = 8 132 | corner_radius_top_right = 8 133 | corner_radius_bottom_right = 8 134 | corner_radius_bottom_left = 8 135 | 136 | [node name="Inventory" type="Control"] 137 | anchor_right = 1.0 138 | anchor_bottom = 1.0 139 | script = ExtResource( 4 ) 140 | __meta__ = { 141 | "_edit_use_anchors_": true 142 | } 143 | 144 | [node name="Prototype" type="HBoxContainer" parent="."] 145 | visible = false 146 | anchor_right = 1.0 147 | anchor_bottom = 1.0 148 | margin_left = 16.0 149 | margin_top = 16.0 150 | margin_right = -16.0 151 | margin_bottom = -16.0 152 | __meta__ = { 153 | "_edit_use_anchors_": false 154 | } 155 | 156 | [node name="PanelContainer" type="PanelContainer" parent="Prototype"] 157 | margin_right = 794.0 158 | margin_bottom = 568.0 159 | size_flags_horizontal = 3 160 | custom_styles/panel = SubResource( 1 ) 161 | __meta__ = { 162 | "_edit_use_anchors_": false 163 | } 164 | 165 | [node name="HBox" type="HBoxContainer" parent="Prototype/PanelContainer"] 166 | margin_left = 32.0 167 | margin_top = 32.0 168 | margin_right = 762.0 169 | margin_bottom = 536.0 170 | 171 | [node name="VBox1" type="VBoxContainer" parent="Prototype/PanelContainer/HBox"] 172 | margin_right = 384.0 173 | margin_bottom = 504.0 174 | custom_constants/separation = 0 175 | 176 | [node name="Title" type="Label" parent="Prototype/PanelContainer/HBox/VBox1"] 177 | margin_right = 384.0 178 | margin_bottom = 43.0 179 | custom_fonts/font = SubResource( 2 ) 180 | text = "Inventory" 181 | 182 | [node name="Control" type="Control" parent="Prototype/PanelContainer/HBox/VBox1"] 183 | margin_top = 43.0 184 | margin_right = 384.0 185 | margin_bottom = 75.0 186 | rect_min_size = Vector2( 0, 32 ) 187 | 188 | [node name="ScrollContainer" type="ScrollContainer" parent="Prototype/PanelContainer/HBox/VBox1"] 189 | margin_top = 75.0 190 | margin_right = 384.0 191 | margin_bottom = 440.0 192 | size_flags_vertical = 3 193 | scroll_horizontal_enabled = false 194 | 195 | [node name="FlexGridContainer" type="Container" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer"] 196 | margin_right = 384.0 197 | margin_bottom = 304.0 198 | script = ExtResource( 1 ) 199 | children_size = Vector2( 64, 64 ) 200 | spacing = Vector2( 16, 16 ) 201 | num_columns = 5 202 | 203 | [node name="Control" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 204 | margin_right = 64.0 205 | margin_bottom = 64.0 206 | custom_styles/panel = SubResource( 3 ) 207 | 208 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control"] 209 | anchor_right = 1.0 210 | anchor_bottom = 1.0 211 | margin_left = 2.0 212 | margin_top = 2.0 213 | margin_right = -2.0 214 | margin_bottom = -2.0 215 | texture = ExtResource( 5 ) 216 | expand = true 217 | __meta__ = { 218 | "_edit_use_anchors_": false 219 | } 220 | 221 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control"] 222 | anchor_top = 1.0 223 | anchor_right = 1.0 224 | anchor_bottom = 1.0 225 | margin_left = 4.0 226 | margin_top = -22.0 227 | margin_right = -4.0 228 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 229 | custom_fonts/font = SubResource( 4 ) 230 | text = "0" 231 | align = 2 232 | valign = 2 233 | __meta__ = { 234 | "_edit_use_anchors_": false 235 | } 236 | 237 | [node name="Control2" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 238 | margin_left = 80.0 239 | margin_right = 144.0 240 | margin_bottom = 64.0 241 | custom_styles/panel = SubResource( 3 ) 242 | 243 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control2"] 244 | anchor_right = 1.0 245 | anchor_bottom = 1.0 246 | texture = ExtResource( 5 ) 247 | expand = true 248 | __meta__ = { 249 | "_edit_use_anchors_": false 250 | } 251 | 252 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control2"] 253 | anchor_top = 1.0 254 | anchor_right = 1.0 255 | anchor_bottom = 1.0 256 | margin_left = 4.0 257 | margin_top = -22.0 258 | margin_right = -4.0 259 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 260 | custom_fonts/font = SubResource( 4 ) 261 | text = "0" 262 | align = 2 263 | valign = 2 264 | __meta__ = { 265 | "_edit_use_anchors_": false 266 | } 267 | 268 | [node name="Control3" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 269 | margin_left = 160.0 270 | margin_right = 224.0 271 | margin_bottom = 64.0 272 | custom_styles/panel = SubResource( 3 ) 273 | 274 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control3"] 275 | anchor_right = 1.0 276 | anchor_bottom = 1.0 277 | margin_left = 2.0 278 | margin_top = 2.0 279 | margin_right = -2.0 280 | margin_bottom = -2.0 281 | texture = ExtResource( 5 ) 282 | expand = true 283 | __meta__ = { 284 | "_edit_use_anchors_": false 285 | } 286 | 287 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control3"] 288 | anchor_top = 1.0 289 | anchor_right = 1.0 290 | anchor_bottom = 1.0 291 | margin_left = 4.0 292 | margin_top = -22.0 293 | margin_right = -4.0 294 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 295 | custom_fonts/font = SubResource( 4 ) 296 | text = "0" 297 | align = 2 298 | valign = 2 299 | __meta__ = { 300 | "_edit_use_anchors_": false 301 | } 302 | 303 | [node name="Control4" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 304 | margin_left = 240.0 305 | margin_right = 304.0 306 | margin_bottom = 64.0 307 | custom_styles/panel = SubResource( 3 ) 308 | 309 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control4"] 310 | anchor_right = 1.0 311 | anchor_bottom = 1.0 312 | margin_left = 2.0 313 | margin_top = 2.0 314 | margin_right = -2.0 315 | margin_bottom = -2.0 316 | texture = ExtResource( 5 ) 317 | expand = true 318 | __meta__ = { 319 | "_edit_use_anchors_": false 320 | } 321 | 322 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control4"] 323 | anchor_top = 1.0 324 | anchor_right = 1.0 325 | anchor_bottom = 1.0 326 | margin_left = 4.0 327 | margin_top = -22.0 328 | margin_right = -4.0 329 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 330 | custom_fonts/font = SubResource( 4 ) 331 | text = "0" 332 | align = 2 333 | valign = 2 334 | __meta__ = { 335 | "_edit_use_anchors_": false 336 | } 337 | 338 | [node name="Control5" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 339 | margin_left = 320.0 340 | margin_right = 384.0 341 | margin_bottom = 64.0 342 | custom_styles/panel = SubResource( 3 ) 343 | 344 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control5"] 345 | anchor_right = 1.0 346 | anchor_bottom = 1.0 347 | margin_left = 2.0 348 | margin_top = 2.0 349 | margin_right = -2.0 350 | margin_bottom = -2.0 351 | texture = ExtResource( 5 ) 352 | expand = true 353 | __meta__ = { 354 | "_edit_use_anchors_": false 355 | } 356 | 357 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control5"] 358 | anchor_top = 1.0 359 | anchor_right = 1.0 360 | anchor_bottom = 1.0 361 | margin_left = 4.0 362 | margin_top = -22.0 363 | margin_right = -4.0 364 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 365 | custom_fonts/font = SubResource( 4 ) 366 | text = "0" 367 | align = 2 368 | valign = 2 369 | __meta__ = { 370 | "_edit_use_anchors_": false 371 | } 372 | 373 | [node name="Control6" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 374 | margin_top = 80.0 375 | margin_right = 64.0 376 | margin_bottom = 144.0 377 | custom_styles/panel = SubResource( 3 ) 378 | 379 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control6"] 380 | anchor_right = 1.0 381 | anchor_bottom = 1.0 382 | margin_left = 2.0 383 | margin_top = 2.0 384 | margin_right = -2.0 385 | margin_bottom = -2.0 386 | texture = ExtResource( 5 ) 387 | expand = true 388 | __meta__ = { 389 | "_edit_use_anchors_": false 390 | } 391 | 392 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control6"] 393 | anchor_top = 1.0 394 | anchor_right = 1.0 395 | anchor_bottom = 1.0 396 | margin_left = 4.0 397 | margin_top = -22.0 398 | margin_right = -4.0 399 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 400 | custom_fonts/font = SubResource( 4 ) 401 | text = "0" 402 | align = 2 403 | valign = 2 404 | __meta__ = { 405 | "_edit_use_anchors_": false 406 | } 407 | 408 | [node name="Control7" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 409 | margin_left = 80.0 410 | margin_top = 80.0 411 | margin_right = 144.0 412 | margin_bottom = 144.0 413 | custom_styles/panel = SubResource( 3 ) 414 | 415 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control7"] 416 | anchor_right = 1.0 417 | anchor_bottom = 1.0 418 | margin_left = 2.0 419 | margin_top = 2.0 420 | margin_right = -2.0 421 | margin_bottom = -2.0 422 | texture = ExtResource( 5 ) 423 | expand = true 424 | __meta__ = { 425 | "_edit_use_anchors_": false 426 | } 427 | 428 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control7"] 429 | anchor_top = 1.0 430 | anchor_right = 1.0 431 | anchor_bottom = 1.0 432 | margin_left = 4.0 433 | margin_top = -22.0 434 | margin_right = -4.0 435 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 436 | custom_fonts/font = SubResource( 4 ) 437 | text = "0" 438 | align = 2 439 | valign = 2 440 | __meta__ = { 441 | "_edit_use_anchors_": false 442 | } 443 | 444 | [node name="Control8" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 445 | margin_left = 160.0 446 | margin_top = 80.0 447 | margin_right = 224.0 448 | margin_bottom = 144.0 449 | custom_styles/panel = SubResource( 3 ) 450 | 451 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control8"] 452 | anchor_right = 1.0 453 | anchor_bottom = 1.0 454 | margin_left = 2.0 455 | margin_top = 2.0 456 | margin_right = -2.0 457 | margin_bottom = -2.0 458 | texture = ExtResource( 5 ) 459 | expand = true 460 | __meta__ = { 461 | "_edit_use_anchors_": false 462 | } 463 | 464 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control8"] 465 | anchor_top = 1.0 466 | anchor_right = 1.0 467 | anchor_bottom = 1.0 468 | margin_left = 4.0 469 | margin_top = -22.0 470 | margin_right = -4.0 471 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 472 | custom_fonts/font = SubResource( 4 ) 473 | text = "0" 474 | align = 2 475 | valign = 2 476 | __meta__ = { 477 | "_edit_use_anchors_": false 478 | } 479 | 480 | [node name="Control9" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 481 | margin_left = 240.0 482 | margin_top = 80.0 483 | margin_right = 304.0 484 | margin_bottom = 144.0 485 | custom_styles/panel = SubResource( 3 ) 486 | 487 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control9"] 488 | anchor_right = 1.0 489 | anchor_bottom = 1.0 490 | margin_left = 2.0 491 | margin_top = 2.0 492 | margin_right = -2.0 493 | margin_bottom = -2.0 494 | texture = ExtResource( 5 ) 495 | expand = true 496 | __meta__ = { 497 | "_edit_use_anchors_": false 498 | } 499 | 500 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control9"] 501 | anchor_top = 1.0 502 | anchor_right = 1.0 503 | anchor_bottom = 1.0 504 | margin_left = 4.0 505 | margin_top = -22.0 506 | margin_right = -4.0 507 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 508 | custom_fonts/font = SubResource( 4 ) 509 | text = "0" 510 | align = 2 511 | valign = 2 512 | __meta__ = { 513 | "_edit_use_anchors_": false 514 | } 515 | 516 | [node name="Control10" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 517 | margin_left = 320.0 518 | margin_top = 80.0 519 | margin_right = 384.0 520 | margin_bottom = 144.0 521 | custom_styles/panel = SubResource( 3 ) 522 | 523 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control10"] 524 | anchor_right = 1.0 525 | anchor_bottom = 1.0 526 | margin_left = 2.0 527 | margin_top = 2.0 528 | margin_right = -2.0 529 | margin_bottom = -2.0 530 | texture = ExtResource( 5 ) 531 | expand = true 532 | __meta__ = { 533 | "_edit_use_anchors_": false 534 | } 535 | 536 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control10"] 537 | anchor_top = 1.0 538 | anchor_right = 1.0 539 | anchor_bottom = 1.0 540 | margin_left = 4.0 541 | margin_top = -22.0 542 | margin_right = -4.0 543 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 544 | custom_fonts/font = SubResource( 4 ) 545 | text = "0" 546 | align = 2 547 | valign = 2 548 | __meta__ = { 549 | "_edit_use_anchors_": false 550 | } 551 | 552 | [node name="Control11" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 553 | margin_top = 160.0 554 | margin_right = 64.0 555 | margin_bottom = 224.0 556 | custom_styles/panel = SubResource( 3 ) 557 | 558 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control11"] 559 | anchor_right = 1.0 560 | anchor_bottom = 1.0 561 | margin_left = 2.0 562 | margin_top = 2.0 563 | margin_right = -2.0 564 | margin_bottom = -2.0 565 | texture = ExtResource( 5 ) 566 | expand = true 567 | __meta__ = { 568 | "_edit_use_anchors_": false 569 | } 570 | 571 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control11"] 572 | anchor_top = 1.0 573 | anchor_right = 1.0 574 | anchor_bottom = 1.0 575 | margin_left = 4.0 576 | margin_top = -22.0 577 | margin_right = -4.0 578 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 579 | custom_fonts/font = SubResource( 4 ) 580 | text = "0" 581 | align = 2 582 | valign = 2 583 | __meta__ = { 584 | "_edit_use_anchors_": false 585 | } 586 | 587 | [node name="Control12" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 588 | margin_left = 80.0 589 | margin_top = 160.0 590 | margin_right = 144.0 591 | margin_bottom = 224.0 592 | custom_styles/panel = SubResource( 3 ) 593 | 594 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control12"] 595 | anchor_right = 1.0 596 | anchor_bottom = 1.0 597 | margin_left = 2.0 598 | margin_top = 2.0 599 | margin_right = -2.0 600 | margin_bottom = -2.0 601 | texture = ExtResource( 5 ) 602 | expand = true 603 | __meta__ = { 604 | "_edit_use_anchors_": false 605 | } 606 | 607 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control12"] 608 | anchor_top = 1.0 609 | anchor_right = 1.0 610 | anchor_bottom = 1.0 611 | margin_left = 4.0 612 | margin_top = -22.0 613 | margin_right = -4.0 614 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 615 | custom_fonts/font = SubResource( 4 ) 616 | text = "0" 617 | align = 2 618 | valign = 2 619 | __meta__ = { 620 | "_edit_use_anchors_": false 621 | } 622 | 623 | [node name="Control13" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 624 | margin_left = 160.0 625 | margin_top = 160.0 626 | margin_right = 224.0 627 | margin_bottom = 224.0 628 | custom_styles/panel = SubResource( 3 ) 629 | 630 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control13"] 631 | anchor_right = 1.0 632 | anchor_bottom = 1.0 633 | margin_left = 2.0 634 | margin_top = 2.0 635 | margin_right = -2.0 636 | margin_bottom = -2.0 637 | texture = ExtResource( 5 ) 638 | expand = true 639 | __meta__ = { 640 | "_edit_use_anchors_": false 641 | } 642 | 643 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control13"] 644 | anchor_top = 1.0 645 | anchor_right = 1.0 646 | anchor_bottom = 1.0 647 | margin_left = 4.0 648 | margin_top = -22.0 649 | margin_right = -4.0 650 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 651 | custom_fonts/font = SubResource( 4 ) 652 | text = "0" 653 | align = 2 654 | valign = 2 655 | __meta__ = { 656 | "_edit_use_anchors_": false 657 | } 658 | 659 | [node name="Control14" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 660 | margin_left = 240.0 661 | margin_top = 160.0 662 | margin_right = 304.0 663 | margin_bottom = 224.0 664 | custom_styles/panel = SubResource( 3 ) 665 | 666 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control14"] 667 | anchor_right = 1.0 668 | anchor_bottom = 1.0 669 | margin_left = 2.0 670 | margin_top = 2.0 671 | margin_right = -2.0 672 | margin_bottom = -2.0 673 | texture = ExtResource( 5 ) 674 | expand = true 675 | __meta__ = { 676 | "_edit_use_anchors_": false 677 | } 678 | 679 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control14"] 680 | anchor_top = 1.0 681 | anchor_right = 1.0 682 | anchor_bottom = 1.0 683 | margin_left = 4.0 684 | margin_top = -22.0 685 | margin_right = -4.0 686 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 687 | custom_fonts/font = SubResource( 4 ) 688 | text = "0" 689 | align = 2 690 | valign = 2 691 | __meta__ = { 692 | "_edit_use_anchors_": false 693 | } 694 | 695 | [node name="Control15" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 696 | margin_left = 320.0 697 | margin_top = 160.0 698 | margin_right = 384.0 699 | margin_bottom = 224.0 700 | custom_styles/panel = SubResource( 3 ) 701 | 702 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control15"] 703 | anchor_right = 1.0 704 | anchor_bottom = 1.0 705 | margin_left = 2.0 706 | margin_top = 2.0 707 | margin_right = -2.0 708 | margin_bottom = -2.0 709 | texture = ExtResource( 5 ) 710 | expand = true 711 | __meta__ = { 712 | "_edit_use_anchors_": false 713 | } 714 | 715 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control15"] 716 | anchor_top = 1.0 717 | anchor_right = 1.0 718 | anchor_bottom = 1.0 719 | margin_left = 4.0 720 | margin_top = -22.0 721 | margin_right = -4.0 722 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 723 | custom_fonts/font = SubResource( 4 ) 724 | text = "0" 725 | align = 2 726 | valign = 2 727 | __meta__ = { 728 | "_edit_use_anchors_": false 729 | } 730 | 731 | [node name="Control16" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 732 | margin_top = 240.0 733 | margin_right = 64.0 734 | margin_bottom = 304.0 735 | custom_styles/panel = SubResource( 3 ) 736 | 737 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control16"] 738 | anchor_right = 1.0 739 | anchor_bottom = 1.0 740 | margin_left = 2.0 741 | margin_top = 2.0 742 | margin_right = -2.0 743 | margin_bottom = -2.0 744 | texture = ExtResource( 5 ) 745 | expand = true 746 | __meta__ = { 747 | "_edit_use_anchors_": false 748 | } 749 | 750 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control16"] 751 | anchor_top = 1.0 752 | anchor_right = 1.0 753 | anchor_bottom = 1.0 754 | margin_left = 4.0 755 | margin_top = -22.0 756 | margin_right = -4.0 757 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 758 | custom_fonts/font = SubResource( 4 ) 759 | text = "0" 760 | align = 2 761 | valign = 2 762 | __meta__ = { 763 | "_edit_use_anchors_": false 764 | } 765 | 766 | [node name="Control17" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 767 | margin_left = 80.0 768 | margin_top = 240.0 769 | margin_right = 144.0 770 | margin_bottom = 304.0 771 | custom_styles/panel = SubResource( 3 ) 772 | 773 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control17"] 774 | anchor_right = 1.0 775 | anchor_bottom = 1.0 776 | margin_left = 2.0 777 | margin_top = 2.0 778 | margin_right = -2.0 779 | margin_bottom = -2.0 780 | texture = ExtResource( 5 ) 781 | expand = true 782 | __meta__ = { 783 | "_edit_use_anchors_": false 784 | } 785 | 786 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control17"] 787 | anchor_top = 1.0 788 | anchor_right = 1.0 789 | anchor_bottom = 1.0 790 | margin_left = 4.0 791 | margin_top = -22.0 792 | margin_right = -4.0 793 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 794 | custom_fonts/font = SubResource( 4 ) 795 | text = "0" 796 | align = 2 797 | valign = 2 798 | __meta__ = { 799 | "_edit_use_anchors_": false 800 | } 801 | 802 | [node name="Control18" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 803 | margin_left = 160.0 804 | margin_top = 240.0 805 | margin_right = 224.0 806 | margin_bottom = 304.0 807 | custom_styles/panel = SubResource( 3 ) 808 | 809 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control18"] 810 | anchor_right = 1.0 811 | anchor_bottom = 1.0 812 | margin_left = 2.0 813 | margin_top = 2.0 814 | margin_right = -2.0 815 | margin_bottom = -2.0 816 | texture = ExtResource( 5 ) 817 | expand = true 818 | __meta__ = { 819 | "_edit_use_anchors_": false 820 | } 821 | 822 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control18"] 823 | anchor_top = 1.0 824 | anchor_right = 1.0 825 | anchor_bottom = 1.0 826 | margin_left = 4.0 827 | margin_top = -22.0 828 | margin_right = -4.0 829 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 830 | custom_fonts/font = SubResource( 4 ) 831 | text = "0" 832 | align = 2 833 | valign = 2 834 | __meta__ = { 835 | "_edit_use_anchors_": false 836 | } 837 | 838 | [node name="Control19" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 839 | margin_left = 240.0 840 | margin_top = 240.0 841 | margin_right = 304.0 842 | margin_bottom = 304.0 843 | custom_styles/panel = SubResource( 3 ) 844 | 845 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control19"] 846 | anchor_right = 1.0 847 | anchor_bottom = 1.0 848 | margin_left = 2.0 849 | margin_top = 2.0 850 | margin_right = -2.0 851 | margin_bottom = -2.0 852 | texture = ExtResource( 5 ) 853 | expand = true 854 | __meta__ = { 855 | "_edit_use_anchors_": false 856 | } 857 | 858 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control19"] 859 | anchor_top = 1.0 860 | anchor_right = 1.0 861 | anchor_bottom = 1.0 862 | margin_left = 4.0 863 | margin_top = -22.0 864 | margin_right = -4.0 865 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 866 | custom_fonts/font = SubResource( 4 ) 867 | text = "0" 868 | align = 2 869 | valign = 2 870 | __meta__ = { 871 | "_edit_use_anchors_": false 872 | } 873 | 874 | [node name="Control20" type="Panel" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer"] 875 | margin_left = 320.0 876 | margin_top = 240.0 877 | margin_right = 384.0 878 | margin_bottom = 304.0 879 | custom_styles/panel = SubResource( 3 ) 880 | 881 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control20"] 882 | anchor_right = 1.0 883 | anchor_bottom = 1.0 884 | margin_left = 2.0 885 | margin_top = 2.0 886 | margin_right = -2.0 887 | margin_bottom = -2.0 888 | texture = ExtResource( 5 ) 889 | expand = true 890 | __meta__ = { 891 | "_edit_use_anchors_": false 892 | } 893 | 894 | [node name="Count" type="Label" parent="Prototype/PanelContainer/HBox/VBox1/ScrollContainer/FlexGridContainer/Control20"] 895 | anchor_top = 1.0 896 | anchor_right = 1.0 897 | anchor_bottom = 1.0 898 | margin_left = 4.0 899 | margin_top = -22.0 900 | margin_right = -4.0 901 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 902 | custom_fonts/font = SubResource( 4 ) 903 | text = "0" 904 | align = 2 905 | valign = 2 906 | __meta__ = { 907 | "_edit_use_anchors_": false 908 | } 909 | 910 | [node name="Trash" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox1"] 911 | modulate = Color( 0.788235, 0.164706, 0.258824, 1 ) 912 | margin_left = 160.0 913 | margin_top = 440.0 914 | margin_right = 224.0 915 | margin_bottom = 504.0 916 | size_flags_horizontal = 4 917 | size_flags_vertical = 4 918 | texture = ExtResource( 7 ) 919 | 920 | [node name="VSeparator" type="VSeparator" parent="Prototype/PanelContainer/HBox"] 921 | margin_left = 388.0 922 | margin_right = 420.0 923 | margin_bottom = 504.0 924 | rect_min_size = Vector2( 32, 0 ) 925 | custom_styles/separator = SubResource( 5 ) 926 | 927 | [node name="VBox2" type="VBoxContainer" parent="Prototype/PanelContainer/HBox"] 928 | margin_left = 424.0 929 | margin_right = 730.0 930 | margin_bottom = 504.0 931 | size_flags_horizontal = 3 932 | 933 | [node name="HBox" type="HBoxContainer" parent="Prototype/PanelContainer/HBox/VBox2"] 934 | margin_right = 306.0 935 | margin_bottom = 48.0 936 | 937 | [node name="Control2" type="Control" parent="Prototype/PanelContainer/HBox/VBox2/HBox"] 938 | margin_right = 48.0 939 | margin_bottom = 48.0 940 | rect_min_size = Vector2( 48, 48 ) 941 | 942 | [node name="TextureRect" type="TextureRect" parent="Prototype/PanelContainer/HBox/VBox2/HBox/Control2"] 943 | anchor_right = 1.0 944 | anchor_bottom = 1.0 945 | texture = ExtResource( 5 ) 946 | expand = true 947 | __meta__ = { 948 | "_edit_use_anchors_": false 949 | } 950 | 951 | [node name="Control" type="Control" parent="Prototype/PanelContainer/HBox/VBox2/HBox"] 952 | margin_left = 52.0 953 | margin_right = 68.0 954 | margin_bottom = 48.0 955 | rect_min_size = Vector2( 16, 0 ) 956 | 957 | [node name="ItemName" type="Label" parent="Prototype/PanelContainer/HBox/VBox2/HBox"] 958 | margin_left = 72.0 959 | margin_top = 7.0 960 | margin_right = 306.0 961 | margin_bottom = 40.0 962 | size_flags_horizontal = 3 963 | custom_fonts/font = SubResource( 6 ) 964 | text = "Item name" 965 | autowrap = true 966 | 967 | [node name="Control" type="HSeparator" parent="Prototype/PanelContainer/HBox/VBox2"] 968 | margin_top = 52.0 969 | margin_right = 306.0 970 | margin_bottom = 84.0 971 | rect_min_size = Vector2( 0, 32 ) 972 | custom_styles/separator = SubResource( 7 ) 973 | 974 | [node name="RichTextLabel" type="RichTextLabel" parent="Prototype/PanelContainer/HBox/VBox2"] 975 | margin_top = 88.0 976 | margin_right = 306.0 977 | margin_bottom = 134.0 978 | custom_fonts/mono_font = SubResource( 16 ) 979 | custom_fonts/bold_italics_font = SubResource( 17 ) 980 | custom_fonts/italics_font = SubResource( 18 ) 981 | custom_fonts/bold_font = SubResource( 19 ) 982 | custom_fonts/normal_font = SubResource( 8 ) 983 | bbcode_enabled = true 984 | bbcode_text = "A simple rock... 985 | Adds [color=#3f3]+1[/color] attack" 986 | text = "A simple rock... 987 | Adds +1 attack" 988 | fit_content_height = true 989 | 990 | [node name="Control" type="Control" parent="Prototype"] 991 | margin_left = 798.0 992 | margin_right = 814.0 993 | margin_bottom = 568.0 994 | rect_min_size = Vector2( 16, 0 ) 995 | 996 | [node name="PanelContainer2" type="PanelContainer" parent="Prototype"] 997 | margin_left = 818.0 998 | margin_right = 992.0 999 | margin_bottom = 568.0 1000 | custom_styles/panel = SubResource( 15 ) 1001 | __meta__ = { 1002 | "_edit_use_anchors_": false 1003 | } 1004 | 1005 | [node name="VBox" type="VBoxContainer" parent="Prototype/PanelContainer2"] 1006 | margin_left = 16.0 1007 | margin_top = 16.0 1008 | margin_right = 158.0 1009 | margin_bottom = 552.0 1010 | 1011 | [node name="Button1" type="Button" parent="Prototype/PanelContainer2/VBox"] 1012 | margin_right = 142.0 1013 | margin_bottom = 30.0 1014 | rect_pivot_offset = Vector2( 71, 15 ) 1015 | custom_fonts/font = SubResource( 12 ) 1016 | custom_styles/hover = SubResource( 9 ) 1017 | custom_styles/pressed = SubResource( 10 ) 1018 | custom_styles/normal = SubResource( 11 ) 1019 | text = "+1 slot" 1020 | 1021 | [node name="Button2" type="Button" parent="Prototype/PanelContainer2/VBox"] 1022 | margin_top = 34.0 1023 | margin_right = 142.0 1024 | margin_bottom = 62.0 1025 | custom_fonts/font = SubResource( 12 ) 1026 | text = "-1 slot" 1027 | 1028 | [node name="Button3" type="Button" parent="Prototype/PanelContainer2/VBox"] 1029 | margin_top = 66.0 1030 | margin_right = 142.0 1031 | margin_bottom = 94.0 1032 | custom_fonts/font = SubResource( 12 ) 1033 | text = "Add a rock" 1034 | 1035 | [node name="Button4" type="Button" parent="Prototype/PanelContainer2/VBox"] 1036 | margin_top = 98.0 1037 | margin_right = 142.0 1038 | margin_bottom = 126.0 1039 | custom_fonts/font = SubResource( 12 ) 1040 | text = "Add a stick" 1041 | 1042 | [node name="Button5" type="Button" parent="Prototype/PanelContainer2/VBox"] 1043 | margin_top = 130.0 1044 | margin_right = 142.0 1045 | margin_bottom = 158.0 1046 | custom_fonts/font = SubResource( 12 ) 1047 | text = "Add a pickaxe" 1048 | -------------------------------------------------------------------------------- /Demo Scenes/TodoList.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://Scripts/Demos/Todo list/TodoList.gdx" type="Script" id=1] 4 | 5 | [node name="TodoList" type="Control"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | script = ExtResource( 1 ) 9 | __meta__ = { 10 | "_edit_use_anchors_": false 11 | } 12 | -------------------------------------------------------------------------------- /Demo Textures/ItemPickaxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/ItemPickaxe.png -------------------------------------------------------------------------------- /Demo Textures/ItemRock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/ItemRock.png -------------------------------------------------------------------------------- /Demo Textures/ItemSteel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/ItemSteel.png -------------------------------------------------------------------------------- /Demo Textures/ItemStick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/ItemStick.png -------------------------------------------------------------------------------- /Demo Textures/ItemSword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/ItemSword.png -------------------------------------------------------------------------------- /Demo Textures/TrashCan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Demo Textures/TrashCan.png -------------------------------------------------------------------------------- /Fonts/JetBrains/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | # This is the official list of project authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS.txt file. 3 | # See the latter for an explanation. 4 | # 5 | # Names should be added to this file as: 6 | # Name or Organization 7 | 8 | JetBrains <> 9 | Philipp Nurullin 10 | Konstantin Bulenkov 11 | -------------------------------------------------------------------------------- /Fonts/JetBrains/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | 5 | This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Bold.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-BoldItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraBold.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraLight.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Italic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Light.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-LightItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Medium.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-MediumItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Regular.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-Thin.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMono-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMono-ThinItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Bold.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-BoldItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraBold.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraLight.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Italic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Light.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-LightItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Medium.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-MediumItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Regular.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-Thin.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/ttf/JetBrainsMonoNL-ThinItalic.ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/variable/JetBrainsMono-Italic[wght].ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/variable/JetBrainsMono-Italic[wght].ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/variable/JetBrainsMono[wght].ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/variable/JetBrainsMono[wght].ttf -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Bold.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-BoldItalic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraBold.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraLight.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Italic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Light.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-LightItalic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Medium.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-MediumItalic.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Regular.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-Thin.woff2 -------------------------------------------------------------------------------- /Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghsoares/ReactGD/3e00f886ec8672628e0240c27f2fb6cd814f3fc5/Fonts/JetBrains/fonts/webfonts/JetBrainsMono-ThinItalic.woff2 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Gabriel Henrique Pereira Soares 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Scripts/Demos/Animated Click Button/AnimatedClickButton.gdx: -------------------------------------------------------------------------------- 1 | # This is a .gdx file, gdx supports 2 | # custom markdown language made for this addon 3 | 4 | # To the first reactive element, extend from ReactUI, 5 | # then for the nested component extend from ReactComponent 6 | extends ReactUI 7 | 8 | # Path to a jetbrains mono font 9 | const font_path := "res://Fonts/JetBrains/fonts/ttf/JetBrainsMono-Regular.ttf" 10 | 11 | # Reference of the rendered button 12 | var click_button: Button 13 | 14 | # Use this function to initialize component's state 15 | func construct() -> void: 16 | self.state = { 17 | "click_count": 0, 18 | "color": Color.from_hsv(randf(), 1.0, 1.0), 19 | } 20 | 21 | # Function is called when the button is clicked 22 | func on_button_click() -> void: 23 | print(click_button.name) 24 | # Update the state and render the component 25 | self.set_state({ 26 | "click_count": self.state.click_count + 1, 27 | "color": Color.from_hsv(randf(), 1.0, 1.0), 28 | }) 29 | 30 | func on_button_resized() -> void: 31 | click_button.rect_pivot_offset = click_button.rect_size * .5 32 | 33 | # Here you will be rendering the component 34 | func render(): 35 | # Get the current state to use to render the nodes 36 | var click_count :int = self.state.click_count 37 | var color :Color = self.state.color 38 | 39 | # A quick and easy way to find a color perceived luminance 40 | var color_lum := color.r * .2126 + color.g * .7152 + color.b * .0722 41 | var font_color := Color.white if color_lum < .5 else Color.black 42 | 43 | # Temporary variable of all the returned node's themes 44 | var theme := { 45 | # You can insert multiple themes one for each node, remember to 46 | # reference by name latter 47 | "click_button": { 48 | # The theme is separated into categories like Godot: 49 | # - Color 50 | # - Constant 51 | # - Font 52 | # - Icon 53 | # - Stylebox 54 | "styles": { 55 | # For now, you must provide the name and the stylebox type 56 | ["normal", StyleBoxFlat]: { 57 | "bg_color": do_transition(color, .1), 58 | # ReactGD provides some shorthands that can be usefull, 59 | # simillar to css 60 | "corner_radius": 8.0, 61 | "content_margin_horizontal": 16.0, 62 | "content_margin_vertical": 8.0 63 | }, 64 | ["hover", StyleBoxFlat]: { 65 | "bg_color": do_transition(color, .1), 66 | # ReactGD provides some shorthands that can be usefull, 67 | # simillar to css 68 | "corner_radius": 8.0, 69 | "content_margin_horizontal": 16.0, 70 | "content_margin_vertical": 8.0 71 | }, 72 | ["pressed", StyleBoxFlat]: { 73 | "bg_color": do_transition(color, .1), 74 | # ReactGD provides some shorthands that can be usefull, 75 | # simillar to css 76 | "corner_radius": 8.0, 77 | "content_margin_horizontal": 16.0, 78 | "content_margin_vertical": 8.0 79 | } 80 | }, 81 | "fonts": { 82 | "font": { 83 | # You can dynamically provide a font size, that is 84 | # updated automatically 85 | "size": 48.0, 86 | "use_filter": true, 87 | # You can just provide the font path, that is loaded 88 | # only once when the path changes 89 | "src": font_path 90 | } 91 | }, 92 | "colors": { 93 | # You can also assign transitions to font colors 94 | "font_color": do_transition(font_color, .2), 95 | "font_color_hover": do_transition(font_color, .2), 96 | "font_color_pressed": do_transition(font_color, .2) 97 | } 98 | }, 99 | "click_count_label": { 100 | "colors": { 101 | "font_color": Color.black 102 | }, 103 | "fonts": { 104 | "font": { 105 | "size": 38.0, 106 | "use_filter": true, 107 | "src": font_path 108 | } 109 | }, 110 | } 111 | } 112 | 113 | # You can pass a transition to a prop, ReactGD automatically 114 | # handle this property with the Tween node, allowing to create 115 | # reactive animations 116 | 117 | # In this case, we will pass a shake transition when the button was pressed, 118 | # which makes a simple squish animation 119 | # You can set transitions for each axis of a Vector2 120 | var pressed_shake_scale_x = do_shake( 121 | 1.2, 1.0, .2, Tween.TRANS_QUAD, Tween.EASE_OUT 122 | ) 123 | var pressed_shake_scale_y = do_shake( 124 | 1.2, 1.0, .2, Tween.TRANS_QUAD, Tween.EASE_OUT, .1 125 | ) 126 | var pressed_shake_rotation = do_shake( 127 | rand_range(-15.0, 15.0), 0.0, .2, 128 | Tween.TRANS_QUAD, Tween.EASE_IN_OUT 129 | ) 130 | 131 | # Here you are returning the rendering, 132 | # if you are using .gdx extension, you can use the markdown 133 | # language like on ReactJS, remember to wrap around parentheses 134 | # This extension import .gdx files like a regular gdscript file, 135 | # the difference is that it enables this custom language in the script 136 | # that will be parsed to a more ugly, verbose dictionary variant 137 | # (open the script on editor to see the parsed version) 138 | 139 | # Don't worry, all the comments are completely ignored by the parser 140 | return ( 141 | # Like on HTML, you use tags with Godot's classes or 142 | # custom classes 143 | 150 |