Skip to content

Commit ab5e6d6

Browse files
authored
Merge pull request #380 from endlessm/in-game
Examples: Add In-game blocks demo
2 parents 3ea11db + 77b2773 commit ab5e6d6

File tree

7 files changed

+191
-5
lines changed

7 files changed

+191
-5
lines changed

addons/block_code/drag_manager/drag_manager.gd

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ var drag: Drag = null
2424

2525

2626
func _ready():
27-
_picker = get_node(picker_path)
27+
if picker_path:
28+
_picker = get_node(picker_path)
2829
_block_canvas = get_node(block_canvas_path)
2930

3031

@@ -55,7 +56,8 @@ func drag_block(block: Block, copied_from: Block = null, offset: Vector2 = Vecto
5556

5657
drag = Drag.new(block, block_scope, offset, _block_canvas)
5758
drag.set_snap_points(get_tree().get_nodes_in_group("snap_point"))
58-
drag.add_delete_area(_picker.get_global_rect())
59+
if _picker:
60+
drag.add_delete_area(_picker.get_global_rect())
5961
if block is ParameterBlock and block.spawned_by:
6062
drag.add_delete_area(block.spawned_by.get_global_rect())
6163
add_child(drag)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
extends Control
2+
3+
@onready var _context := BlockEditorContext.get_default()
4+
5+
@onready var block_code_node: BlockCode = %BlockCode
6+
@onready var block_canvas: MarginContainer = %BlockCanvas
7+
@onready var drag_manager: Control = %DragManager
8+
9+
10+
func _ready() -> void:
11+
block_canvas.reconnect_block.connect(drag_manager.connect_block_canvas_signals)
12+
drag_manager.block_dropped.connect(save_script)
13+
drag_manager.block_modified.connect(save_script)
14+
_context.block_code_node = block_code_node
15+
16+
17+
func _input(event):
18+
if event is InputEventMouseButton:
19+
var mouse_event: InputEventMouseButton = event as InputEventMouseButton
20+
if mouse_event.button_index == MOUSE_BUTTON_LEFT:
21+
if mouse_event.pressed:
22+
# Release focus
23+
var focused_node := get_viewport().gui_get_focus_owner()
24+
if focused_node:
25+
focused_node.release_focus()
26+
else:
27+
drag_manager.drag_ended()
28+
29+
30+
func save_script():
31+
if _context.block_code_node == null:
32+
print("No script loaded to save.")
33+
return
34+
35+
var block_script: BlockScriptSerialization = _context.block_script
36+
block_canvas.rebuild_ast_list()
37+
block_canvas.rebuild_block_serialization_trees()
38+
var generated_script = block_canvas.generate_script_from_current_window()
39+
if generated_script != block_script.generated_script:
40+
block_script.generated_script = generated_script
41+
block_code_node._update_parent_script()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://cnoxd00s0tn51
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
[gd_scene load_steps=19 format=3 uid="uid://cytyr4s3vkoqm"]
2+
3+
[ext_resource type="Script" uid="uid://cnoxd00s0tn51" path="res://addons/block_code/examples/demo_ingame/demo_ingame.gd" id="1_6vqkq"]
4+
[ext_resource type="PackedScene" uid="uid://c6vumewgnfquy" path="res://addons/block_code/ui/block_canvas/block_canvas.tscn" id="2_7wcyd"]
5+
[ext_resource type="Texture2D" uid="uid://dk8joxmlxu82l" path="res://icon.png" id="2_saega"]
6+
[ext_resource type="Script" uid="uid://cumxsbxj56dmk" path="res://addons/block_code/block_code_node/block_code.gd" id="3_com2k"]
7+
[ext_resource type="Script" uid="uid://brx1cabdmgu38" path="res://addons/block_code/serialization/block_serialization_tree.gd" id="4_dmtl1"]
8+
[ext_resource type="Script" uid="uid://u035wsjd5tpj" path="res://addons/block_code/serialization/block_serialization.gd" id="5_fjkgv"]
9+
[ext_resource type="Script" uid="uid://tlsvrkc3fubl" path="res://addons/block_code/serialization/block_script_serialization.gd" id="6_nae1f"]
10+
[ext_resource type="Script" uid="uid://duvgxorhfitb7" path="res://addons/block_code/serialization/value_block_serialization.gd" id="7_25a4o"]
11+
[ext_resource type="Script" uid="uid://bwkinr8omutpw" path="res://addons/block_code/code_generation/variable_definition.gd" id="7_qrh5q"]
12+
[ext_resource type="PackedScene" uid="uid://cph1k5cfximbf" path="res://addons/block_code/drag_manager/drag_manager.tscn" id="10_kgp86"]
13+
14+
[sub_resource type="Resource" id="Resource_7j0jm"]
15+
script = ExtResource("5_fjkgv")
16+
name = &"Node2D_change_rotation_degrees"
17+
children = Array[ExtResource("5_fjkgv")]([])
18+
arguments = {
19+
"value": -1.0
20+
}
21+
22+
[sub_resource type="Resource" id="Resource_p7e31"]
23+
script = ExtResource("5_fjkgv")
24+
name = &"Node2D_change_rotation_degrees"
25+
children = Array[ExtResource("5_fjkgv")]([])
26+
arguments = {
27+
"value": 5.0
28+
}
29+
30+
[sub_resource type="Resource" id="Resource_8vvuc"]
31+
script = ExtResource("5_fjkgv")
32+
name = &"process"
33+
children = Array[ExtResource("5_fjkgv")]([SubResource("Resource_7j0jm"), SubResource("Resource_p7e31")])
34+
arguments = {}
35+
36+
[sub_resource type="Resource" id="Resource_43nhb"]
37+
script = ExtResource("4_dmtl1")
38+
root = SubResource("Resource_8vvuc")
39+
canvas_position = Vector2(75, 150)
40+
41+
[sub_resource type="Resource" id="Resource_xn35n"]
42+
script = ExtResource("7_25a4o")
43+
name = &"mouse_position"
44+
arguments = {}
45+
46+
[sub_resource type="Resource" id="Resource_y3fve"]
47+
script = ExtResource("5_fjkgv")
48+
name = &"Node2D_set_position"
49+
children = Array[ExtResource("5_fjkgv")]([])
50+
arguments = {
51+
"value": SubResource("Resource_xn35n")
52+
}
53+
54+
[sub_resource type="Resource" id="Resource_k8cej"]
55+
script = ExtResource("4_dmtl1")
56+
root = SubResource("Resource_y3fve")
57+
canvas_position = Vector2(125, 397)
58+
59+
[sub_resource type="Resource" id="Resource_ydoon"]
60+
script = ExtResource("6_nae1f")
61+
script_inherits = "Sprite2D"
62+
block_serialization_trees = Array[ExtResource("4_dmtl1")]([SubResource("Resource_43nhb"), SubResource("Resource_k8cej")])
63+
variables = Array[ExtResource("7_qrh5q")]([])
64+
generated_script = "extends Sprite2D
65+
66+
67+
func _process(delta):
68+
rotation_degrees += -1
69+
rotation_degrees += 5
70+
71+
"
72+
version = 0
73+
74+
[node name="DemoInGame" type="Control"]
75+
layout_mode = 3
76+
anchors_preset = 15
77+
anchor_right = 1.0
78+
anchor_bottom = 1.0
79+
grow_horizontal = 2
80+
grow_vertical = 2
81+
mouse_filter = 1
82+
script = ExtResource("1_6vqkq")
83+
84+
[node name="HSplitContainer" type="HSplitContainer" parent="."]
85+
layout_mode = 1
86+
anchors_preset = 15
87+
anchor_right = 1.0
88+
anchor_bottom = 1.0
89+
grow_horizontal = 2
90+
grow_vertical = 2
91+
92+
[node name="BlockCanvas" parent="HSplitContainer" instance=ExtResource("2_7wcyd")]
93+
unique_name_in_owner = true
94+
layout_mode = 2
95+
96+
[node name="BoxContainer" type="BoxContainer" parent="HSplitContainer"]
97+
layout_mode = 2
98+
size_flags_horizontal = 3
99+
100+
[node name="Icon" type="Sprite2D" parent="HSplitContainer/BoxContainer"]
101+
position = Vector2(290, 317)
102+
texture = ExtResource("2_saega")
103+
104+
[node name="BlockCode" type="Node" parent="HSplitContainer/BoxContainer/Icon"]
105+
unique_name_in_owner = true
106+
script = ExtResource("3_com2k")
107+
block_script = SubResource("Resource_ydoon")
108+
109+
[node name="DragManager" parent="." instance=ExtResource("10_kgp86")]
110+
unique_name_in_owner = true
111+
block_canvas_path = NodePath("../HSplitContainer/BlockCanvas")

addons/block_code/ui/block_canvas/block_canvas.gd

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ const Types = preload("res://addons/block_code/types/types.gd")
1313
const Util = preload("res://addons/block_code/ui/util.gd")
1414
const VariableDefinition = preload("res://addons/block_code/code_generation/variable_definition.gd")
1515

16+
const ZOOM_IN_ICON_TEXTURE = preload("res://addons/block_code/ui/block_canvas/zoom_in_icon_texture.tres")
17+
const ZOOM_OUT_ICON_TEXTURE = preload("res://addons/block_code/ui/block_canvas/zoom_out_icon_texture.tres")
18+
1619
const EXTEND_MARGIN: float = 800
1720
const BLOCK_AUTO_PLACE_MARGIN: Vector2 = Vector2(25, 8)
1821
const DEFAULT_WINDOW_MARGIN: Vector2 = Vector2(25, 25)
@@ -37,8 +40,8 @@ const ZOOM_FACTOR: float = 1.1
3740
@onready var _replace_block_code_button: Button = %ReplaceBlockCodeButton
3841

3942
@onready var _open_scene_icon = _open_scene_button.get_theme_icon("Load", "EditorIcons")
40-
@onready var _icon_zoom_out := EditorInterface.get_editor_theme().get_icon("ZoomLess", "EditorIcons")
41-
@onready var _icon_zoom_in := EditorInterface.get_editor_theme().get_icon("ZoomMore", "EditorIcons")
43+
@onready var _icon_zoom_out := EditorInterface.get_editor_theme().get_icon("ZoomLess", "EditorIcons") if EditorInterface.has_method("get_editor_theme") else ZOOM_OUT_ICON_TEXTURE
44+
@onready var _icon_zoom_in := EditorInterface.get_editor_theme().get_icon("ZoomMore", "EditorIcons") if EditorInterface.has_method("get_editor_theme") else ZOOM_IN_ICON_TEXTURE
4245

4346
@onready var _mouse_override: Control = %MouseOverride
4447
@onready var _zoom_buttons: HBoxContainer = %ZoomButtons
@@ -211,7 +214,9 @@ func set_child(n: Node):
211214
func _on_context_changed():
212215
clear_canvas()
213216

214-
var edited_node = EditorInterface.get_inspector().get_edited_object() as Node
217+
var edited_node
218+
if EditorInterface.has_method("get_inspector"):
219+
edited_node = EditorInterface.get_inspector().get_edited_object() as Node
215220

216221
if _context.block_script != _current_block_script:
217222
_window.position = Vector2(0, 0)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[gd_resource type="ImageTexture" load_steps=2 format=3 uid="uid://braer205nctqj"]
2+
3+
[sub_resource type="Image" id="Image_47mxg"]
4+
data = {
5+
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 58, 0, 0, 0, 86, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 60, 47, 47, 47, 114, 160, 160, 160, 177, 205, 205, 205, 225, 218, 218, 218, 246, 218, 218, 218, 246, 205, 205, 205, 225, 158, 158, 158, 176, 44, 44, 44, 114, 0, 0, 0, 59, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 76, 119, 119, 119, 150, 218, 218, 218, 246, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 219, 219, 219, 245, 117, 117, 117, 148, 0, 0, 0, 76, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 119, 119, 119, 148, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 254, 114, 114, 114, 147, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 18, 44, 44, 44, 114, 219, 219, 219, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 245, 40, 40, 40, 113, 0, 0, 0, 17, 0, 0, 0, 58, 158, 158, 158, 176, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 155, 155, 155, 173, 0, 0, 0, 57, 0, 0, 0, 86, 206, 206, 206, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 203, 203, 203, 223, 0, 0, 0, 85, 0, 0, 0, 97, 219, 219, 219, 247, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 244, 0, 0, 0, 97, 0, 0, 0, 97, 219, 219, 219, 247, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 244, 0, 0, 0, 97, 0, 0, 0, 85, 206, 206, 206, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 201, 201, 201, 222, 0, 0, 0, 84, 0, 0, 0, 58, 157, 157, 157, 175, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 152, 152, 152, 171, 0, 0, 0, 56, 0, 0, 0, 17, 44, 44, 44, 114, 218, 218, 218, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 217, 217, 217, 243, 36, 36, 36, 111, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 59, 116, 116, 116, 147, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 254, 110, 110, 110, 144, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 76, 117, 117, 117, 148, 219, 219, 219, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 243, 112, 112, 112, 144, 0, 0, 0, 74, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 59, 43, 43, 43, 113, 156, 156, 156, 175, 203, 203, 203, 224, 218, 218, 218, 245, 218, 218, 218, 245, 203, 203, 203, 223, 155, 155, 155, 173, 40, 40, 40, 113, 0, 0, 0, 58, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 57, 0, 0, 0, 85, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 84, 0, 0, 0, 56, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
6+
"format": "RGBA8",
7+
"height": 16,
8+
"mipmaps": false,
9+
"width": 16
10+
}
11+
12+
[resource]
13+
image = SubResource("Image_47mxg")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[gd_resource type="ImageTexture" load_steps=2 format=3 uid="uid://uejh0m7utv1t"]
2+
3+
[sub_resource type="Image" id="Image_cj7at"]
4+
data = {
5+
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 58, 0, 0, 0, 86, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 60, 47, 47, 47, 114, 160, 160, 160, 177, 205, 205, 205, 225, 218, 218, 218, 246, 218, 218, 218, 246, 205, 205, 205, 225, 158, 158, 158, 176, 44, 44, 44, 114, 0, 0, 0, 59, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 76, 119, 119, 119, 150, 218, 218, 218, 246, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 219, 219, 219, 245, 117, 117, 117, 148, 0, 0, 0, 76, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 119, 119, 119, 148, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 254, 114, 114, 114, 147, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 18, 44, 44, 44, 114, 219, 219, 219, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 245, 40, 40, 40, 113, 0, 0, 0, 17, 0, 0, 0, 58, 158, 158, 158, 176, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 155, 155, 155, 173, 0, 0, 0, 57, 0, 0, 0, 86, 206, 206, 206, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 203, 203, 203, 223, 0, 0, 0, 85, 0, 0, 0, 97, 219, 219, 219, 247, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 244, 0, 0, 0, 97, 0, 0, 0, 97, 219, 219, 219, 247, 224, 224, 224, 255, 224, 224, 224, 255, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 244, 0, 0, 0, 97, 0, 0, 0, 85, 206, 206, 206, 226, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 201, 201, 201, 222, 0, 0, 0, 84, 0, 0, 0, 58, 157, 157, 157, 175, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 152, 152, 152, 171, 0, 0, 0, 56, 0, 0, 0, 17, 44, 44, 44, 114, 218, 218, 218, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 217, 217, 217, 243, 36, 36, 36, 111, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 59, 116, 116, 116, 147, 224, 224, 224, 254, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 254, 110, 110, 110, 144, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 76, 117, 117, 117, 148, 219, 219, 219, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 218, 218, 218, 243, 112, 112, 112, 144, 0, 0, 0, 74, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 59, 43, 43, 43, 113, 156, 156, 156, 175, 203, 203, 203, 224, 218, 218, 218, 245, 218, 218, 218, 245, 203, 203, 203, 223, 155, 155, 155, 173, 40, 40, 40, 113, 0, 0, 0, 58, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 57, 0, 0, 0, 85, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 84, 0, 0, 0, 56, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
6+
"format": "RGBA8",
7+
"height": 16,
8+
"mipmaps": false,
9+
"width": 16
10+
}
11+
12+
[resource]
13+
image = SubResource("Image_cj7at")

0 commit comments

Comments
 (0)