Removed hardcoded "camera" name reference and manual tween node camera (#411)

Co-authored-by: StraToN <StraToN@users.noreply.github.com>
This commit is contained in:
Julian Murgia
2021-10-07 08:22:27 +02:00
committed by GitHub
parent 41902b5791
commit 00de7fcc4d
15 changed files with 22 additions and 18 deletions

View File

@@ -35,7 +35,7 @@ func validate(arguments: Array):
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.push( .push(
escoria.object_manager.get_object(command_params[0]).node, escoria.object_manager.get_object(command_params[0]).node,
command_params[1], command_params[1],

View File

@@ -20,7 +20,7 @@ func configure() -> ESCCommandArgumentDescriptor:
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.set_target( .set_target(
Vector2(command_params[1], command_params[2]), Vector2(command_params[1], command_params[2]),
command_params[0] command_params[0]

View File

@@ -34,7 +34,7 @@ func validate(arguments: Array):
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.set_target( .set_target(
escoria.object_manager.get_object(command_params[1]).node, escoria.object_manager.get_object(command_params[1]).node,
command_params[0] command_params[0]

View File

@@ -21,7 +21,7 @@ func configure() -> ESCCommandArgumentDescriptor:
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.set_camera_zoom( .set_camera_zoom(
command_params[0], command_params[0],
command_params[1] command_params[1]

View File

@@ -34,7 +34,7 @@ func validate(arguments: Array):
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.set_camera_zoom( .set_camera_zoom(
command_params[0] / escoria.game_size.y, command_params[0] / escoria.game_size.y,
command_params[1] command_params[1]

View File

@@ -20,7 +20,7 @@ func configure() -> ESCCommandArgumentDescriptor:
# Run the command # Run the command
func run(command_params: Array) -> int: func run(command_params: Array) -> int:
(escoria.object_manager.get_object("camera").node as ESCCamera)\ (escoria.object_manager.get_object("_camera").node as ESCCamera)\
.shift( .shift(
command_params[0], command_params[0],
command_params[1], command_params[1],

View File

@@ -6,7 +6,8 @@ class_name ESCObjectManager
const RESERVED_OBJECTS = [ const RESERVED_OBJECTS = [
"_music", "_music",
"_sound", "_sound",
"_speech" "_speech",
"_camera"
] ]

View File

@@ -78,7 +78,7 @@ func _ready():
), ),
true true
) )
game.get_node("camera").set_target(player) escoria.object_manager.get_object("_camera").node.set_target(player)
for n in get_children(): for n in get_children():
if n is ESCLocation and n.is_start_location: if n is ESCLocation and n.is_start_location:

View File

@@ -117,7 +117,7 @@ func set_camera_limits(camera_limit_id: int = 0) -> void:
[scene_camera_limits] [scene_camera_limits]
) )
current_scene.game.get_node("camera").set_limits(limits) escoria.object_manager.get_object("_camera").node.set_limits(limits)
func save_game(p_savegame_res: Resource) -> void: func save_game(p_savegame_res: Resource) -> void:

View File

@@ -7,5 +7,3 @@ current = true
drag_margin_h_enabled = true drag_margin_h_enabled = true
drag_margin_v_enabled = true drag_margin_v_enabled = true
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="tween" type="Tween" parent="."]

View File

@@ -4,7 +4,7 @@ class_name ESCCamera
# Reference to the tween node for animating camera movements # Reference to the tween node for animating camera movements
onready var tween = $"tween" var tween
# Target position of the camera # Target position of the camera
var target: Vector2 = Vector2() var target: Vector2 = Vector2()
@@ -15,6 +15,7 @@ var follow_target: Node = null
# Target zoom of the camera # Target zoom of the camera
var zoom_target: Vector2 var zoom_target: Vector2
# Time of zoom
var zoom_time var zoom_time
@@ -198,10 +199,12 @@ func _process(_delta):
self.global_position = follow_target.global_position self.global_position = follow_target.global_position
func _ready(): func _ready():
tween = Tween.new()
add_child(tween)
tween.connect("tween_all_completed", self, "target_reached") tween.connect("tween_all_completed", self, "target_reached")
escoria.object_manager.register_object( escoria.object_manager.register_object(
ESCObject.new( ESCObject.new(
self.name, "_camera",
self self
), ),
true true

View File

@@ -176,14 +176,14 @@ func _on_event_done(_event_name: String):
func pause_game(): func pause_game():
if pause_menu.visible: if pause_menu.visible:
pause_menu.hide() pause_menu.hide()
escoria.main.current_scene.game.get_node("camera").current = true escoria.object_manager.get_object("_camera").node.current = true
escoria.main.current_scene.game.show_ui() escoria.main.current_scene.game.show_ui()
escoria.main.current_scene.show() escoria.main.current_scene.show()
escoria.set_game_paused(false) escoria.set_game_paused(false)
else: else:
pause_menu.set_save_enabled(escoria.save_manager.save_enabled) pause_menu.set_save_enabled(escoria.save_manager.save_enabled)
pause_menu.show() pause_menu.show()
escoria.main.current_scene.game.get_node("camera").current = false escoria.object_manager.get_object("_camera").node.current = false
escoria.main.current_scene.game.hide_ui() escoria.main.current_scene.game.hide_ui()
escoria.main.current_scene.hide() escoria.main.current_scene.hide()
escoria.set_game_paused(true) escoria.set_game_paused(true)

View File

@@ -156,7 +156,7 @@ func _on_event_done(event_name: String):
func pause_game(): func pause_game():
if $CanvasLayer/pause_menu.visible: if $CanvasLayer/pause_menu.visible:
$CanvasLayer/pause_menu.hide() $CanvasLayer/pause_menu.hide()
escoria.main.current_scene.game.get_node("camera").current = true escoria.object_manager.get_object("_camera").node.current = true
escoria.main.current_scene.game.show_ui() escoria.main.current_scene.game.show_ui()
escoria.main.current_scene.show() escoria.main.current_scene.show()
else: else:
@@ -164,7 +164,7 @@ func pause_game():
escoria.save_manager.save_enabled escoria.save_manager.save_enabled
) )
$CanvasLayer/pause_menu.show() $CanvasLayer/pause_menu.show()
escoria.main.current_scene.game.get_node("camera").current = false escoria.object_manager.get_object("_camera").node.current = false
escoria.main.current_scene.game.hide_ui() escoria.main.current_scene.game.hide_ui()
escoria.main.current_scene.hide() escoria.main.current_scene.hide()

View File

@@ -48,6 +48,8 @@ Target zoom of the camera
var zoom_time var zoom_time
``` ```
Time of zoom
### zoom\_transform ### zoom\_transform
```gdscript ```gdscript

View File

@@ -13,7 +13,7 @@ A manager for ESC objects
### RESERVED\_OBJECTS ### RESERVED\_OBJECTS
```gdscript ```gdscript
const RESERVED_OBJECTS: Array = ["_music","_sound","_speech"] const RESERVED_OBJECTS: Array = ["_music","_sound","_speech","_camera"]
``` ```
## Property Descriptions ## Property Descriptions