diff --git a/addons/godot_projectile_engine/core/projectile_template/base/projectile_updater/projectile_updater_2d.gd b/addons/godot_projectile_engine/core/projectile_template/base/projectile_updater/projectile_updater_2d.gd index 0466d01..8cd0f8d 100644 --- a/addons/godot_projectile_engine/core/projectile_template/base/projectile_updater/projectile_updater_2d.gd +++ b/addons/godot_projectile_engine/core/projectile_template/base/projectile_updater/projectile_updater_2d.gd @@ -223,9 +223,14 @@ func draw_projectile_texture() -> void: projectile_texture = projectile_template_2d.texture projectile_texture_modulate = projectile_template_2d.texture_modulate projectile_texture_draw_offset = Vector2.ZERO - projectile_template_2d.texture.get_size() * 0.5 - for index : int in projectile_active_index: - draw_set_transform_matrix(projectile_instance_array[index].transform) - draw_texture(projectile_texture, projectile_texture_draw_offset, projectile_texture_modulate) + if not projectile_template_2d.reverse_z_index: + for index in projectile_active_index: + draw_set_transform_matrix(projectile_instance_array[index].transform) + draw_texture(projectile_texture, projectile_texture_draw_offset, projectile_texture_modulate) + else: + for i in range(projectile_active_index.size() - 1, -1, -1): + draw_set_transform_matrix(projectile_instance_array[projectile_active_index[i]].transform) + draw_texture(projectile_texture, projectile_texture_draw_offset, projectile_texture_modulate) #endregion diff --git a/addons/godot_projectile_engine/core/projectile_template/projectile_template_advanced_2d/projectile_template_advanced_2d.gd b/addons/godot_projectile_engine/core/projectile_template/projectile_template_advanced_2d/projectile_template_advanced_2d.gd index d0bc59d..183fb98 100644 --- a/addons/godot_projectile_engine/core/projectile_template/projectile_template_advanced_2d/projectile_template_advanced_2d.gd +++ b/addons/godot_projectile_engine/core/projectile_template/projectile_template_advanced_2d/projectile_template_advanced_2d.gd @@ -25,6 +25,8 @@ class_name ProjectileTemplateAdvanced2D @export var texture_visible: bool = true ## Render layer for the texture (higher values render on top) @export var texture_z_index: int = 0 +## Render newer bullets underneath older bullets? +@export var reverse_z_index: bool = false ## Color modulation applied to the texture (RGBA) @export var texture_modulate: Color = Color(1, 1, 1, 1) diff --git a/addons/godot_projectile_engine/core/projectile_template/projectile_template_custom_2d/projectile_template_custom_2d.gd b/addons/godot_projectile_engine/core/projectile_template/projectile_template_custom_2d/projectile_template_custom_2d.gd index cba7a78..eb86391 100644 --- a/addons/godot_projectile_engine/core/projectile_template/projectile_template_custom_2d/projectile_template_custom_2d.gd +++ b/addons/godot_projectile_engine/core/projectile_template/projectile_template_custom_2d/projectile_template_custom_2d.gd @@ -23,6 +23,8 @@ class_name ProjectileTemplateCustom2D @export var texture_visible : bool = true ## Render layer for the texture (higher values render on top) @export var texture_z_index : int = 0 +## Render newer bullets underneath older bullets? +@export var reverse_z_index: bool = false ## Color modulation applied to the texture (RGBA) @export var texture_modulate : Color = Color(1, 1, 1, 1) diff --git a/addons/godot_projectile_engine/core/projectile_template/projectile_template_simple_2d/projectile_template_simple_2d.gd b/addons/godot_projectile_engine/core/projectile_template/projectile_template_simple_2d/projectile_template_simple_2d.gd index 1afcb85..2146370 100644 --- a/addons/godot_projectile_engine/core/projectile_template/projectile_template_simple_2d/projectile_template_simple_2d.gd +++ b/addons/godot_projectile_engine/core/projectile_template/projectile_template_simple_2d/projectile_template_simple_2d.gd @@ -22,6 +22,8 @@ class_name ProjectileTemplateSimple2D @export var texture_visible: bool = true ## Render layer for the texture (higher values render on top) @export var texture_z_index: int = 0 +## Render newer bullets underneath older bullets? +@export var reverse_z_index: bool = false ## Color modulation applied to the texture (RGBA) @export var texture_modulate: Color = Color(1, 1, 1, 1)