Skip to content

Commit b28f697

Browse files
authored
Merge pull request #217 from endlessm/add-character-states
Add character states
2 parents d8dae7e + a2cfe77 commit b28f697

File tree

3 files changed

+47
-17
lines changed

3 files changed

+47
-17
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[gd_resource type="Resource" load_steps=2 format=3 uid="uid://cbpicqif1ddro"]
2+
3+
[ext_resource type="Script" path="res://addons/block_code/code_generation/block_definition.gd" id="1_btxic"]
4+
5+
[resource]
6+
script = ExtResource("1_btxic")
7+
name = &"characterbody2d_is_on_floor"
8+
target_node_class = "CharacterBody2D"
9+
description = "True if the character is on the floor."
10+
category = "Physics | Velocity"
11+
type = 3
12+
variant_type = 1
13+
display_template = "Is on floor"
14+
code_template = "is_on_floor()"
15+
defaults = {}
16+
signal_name = ""
17+
scope = ""

addons/block_code/code_generation/blocks_catalog.gd

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -141,22 +141,24 @@ static func _add_property_definitions(_class_name: String, property_list: Array[
141141
_by_class_name[_class_name] = {}
142142

143143
# Setter
144-
var block_definition: BlockDefinition = (
145-
BlockDefinition
146-
. new(
147-
&"%s_set_%s" % [_class_name, property.name],
148-
_class_name,
149-
"Set the %s property" % property.name,
150-
block_settings.category,
151-
Types.BlockType.STATEMENT,
152-
TYPE_NIL,
153-
"Set %s to {value: %s}" % [property.name.capitalize(), type_string],
154-
"%s = {value}" % property.name,
155-
{"value": block_settings.get("default_set", _FALLBACK_SET_FOR_TYPE[property.type])},
144+
var block_definition: BlockDefinition
145+
if block_settings.get("has_setter", true):
146+
block_definition = (
147+
BlockDefinition
148+
. new(
149+
&"%s_set_%s" % [_class_name, property.name],
150+
_class_name,
151+
"Set the %s property" % property.name,
152+
block_settings.category,
153+
Types.BlockType.STATEMENT,
154+
TYPE_NIL,
155+
"Set %s to {value: %s}" % [property.name.capitalize(), type_string],
156+
"%s = {value}" % property.name,
157+
{"value": block_settings.get("default_set", _FALLBACK_SET_FOR_TYPE[property.type])},
158+
)
156159
)
157-
)
158-
_catalog[block_definition.name] = block_definition
159-
_by_class_name[_class_name][block_definition.name] = block_definition
160+
_catalog[block_definition.name] = block_definition
161+
_by_class_name[_class_name][block_definition.name] = block_definition
160162

161163
# Changer
162164
if block_settings.get("has_change", true):
@@ -174,8 +176,8 @@ static func _add_property_definitions(_class_name: String, property_list: Array[
174176
{"value": block_settings.get("default_change", _FALLBACK_CHANGE_FOR_TYPE[property.type])},
175177
)
176178
)
177-
_catalog[block_definition.name] = block_definition
178-
_by_class_name[_class_name][block_definition.name] = block_definition
179+
_catalog[block_definition.name] = block_definition
180+
_by_class_name[_class_name][block_definition.name] = block_definition
179181

180182
# Getter
181183
block_definition = (

addons/block_code/simple_nodes/simple_character/simple_character.gd

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ var collision: CollisionShape2D
3838
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
3939

4040
var _jumping = false
41+
var direction_x: int = 0
4142

4243

4344
func _set_texture(new_texture):
@@ -100,6 +101,7 @@ func _player_input_to_direction(player: String):
100101

101102
func move_with_player_buttons(player: String, kind: String, delta: float):
102103
var direction = _player_input_to_direction(player)
104+
direction_x = direction.x
103105

104106
if kind == "top-down":
105107
velocity = direction * speed
@@ -153,13 +155,22 @@ static func setup_custom_blocks():
153155
"name": "speed",
154156
"type": TYPE_VECTOR2,
155157
},
158+
{
159+
"name": "direction_x",
160+
"type": TYPE_INT,
161+
},
156162
]
157163

158164
var property_settings = {
159165
"speed":
160166
{
161167
"category": "Physics | Velocity",
162168
},
169+
"direction_x":
170+
{
171+
"category": "Physics | Velocity",
172+
"has_setter": false,
173+
},
163174
}
164175

165176
BlocksCatalog.add_custom_blocks(_class_name, block_list, property_list, property_settings)

0 commit comments

Comments
 (0)