diff --git a/Scripts/build_manager.gd b/Scripts/build_manager.gd index 1b98110..3ec7bab 100644 --- a/Scripts/build_manager.gd +++ b/Scripts/build_manager.gd @@ -7,6 +7,15 @@ extends Node signal build_object_selected +signal exit_build_mode +signal enter_build_mode + +signal preview_created +signal preview_destroyed + +signal object_placed(build_postion) + +var build_mode: bool = false var selected_object_id: int var is_object_selected: bool @@ -18,6 +27,15 @@ func _ready() -> void: is_object_selected = false build_object_selected.connect(_on_object_selected) +func _input(event: InputEvent) -> void: + if event.is_action_released("enter_build_mode"): + if build_mode: + exit_build_mode.emit() + build_mode = false + else: + enter_build_mode.emit() + build_mode = true + func get_preview_object(): var selected_object match selected_object_id: diff --git a/Scripts/build_object.gd b/Scripts/build_object.gd index 47fa585..d8a6b81 100644 --- a/Scripts/build_object.gd +++ b/Scripts/build_object.gd @@ -10,8 +10,8 @@ var staic_body: StaticBody3D func _ready() -> void: - Global.preview_created.connect(_on_preview_create) - Global.object_placed.connect(_on_object_placed) + BuildManager.preview_created.connect(_on_preview_create) + BuildManager.object_placed.connect(_on_object_placed) set_default_shaders() staic_body = $StaticBody3D diff --git a/Scripts/building_area.gd b/Scripts/building_area.gd index 6dd6842..98fc3e2 100644 --- a/Scripts/building_area.gd +++ b/Scripts/building_area.gd @@ -11,22 +11,22 @@ var is_placed = false func _ready() -> void: areas = get_children() buildTransparentPreivew.visible = false - Global.exit_build_mode.connect(_on_exit_build_mode) - Global.enter_build_mode.connect(_on_enter_build_mode) + BuildManager.exit_build_mode.connect(_on_exit_build_mode) + BuildManager.enter_build_mode.connect(_on_enter_build_mode) func _input_event(camera: Camera3D, event: InputEvent, event_position: Vector3, normal: Vector3, shape_idx: int) -> void: - if event.is_action_pressed("mouse_click") and Global.build_mode: + if event.is_action_pressed("mouse_click") and BuildManager.build_mode: place_object() func _mouse_enter() -> void: - if !is_placed and Global.build_mode and BuildManager.is_object_selected: + if !is_placed and BuildManager.build_mode and BuildManager.is_object_selected: show_preview() func _mouse_exit() -> void: - if !is_placed and Global.build_mode: + if !is_placed and BuildManager.build_mode: hide_preview() func show_preview(): @@ -36,7 +36,7 @@ func show_preview(): areas[0].add_child(previewObject) #previewObject.global_position.y = BuildManager.global_y buildTransparentPreivew.visible = false - Global.preview_created.emit() + BuildManager.preview_created.emit() func hide_preview(): if is_placed != true: @@ -47,7 +47,7 @@ func hide_preview(): func place_object(): #is_placed = true #buildTransparentPreivew.visible = false - Global.object_placed.emit(self.position) + BuildManager.object_placed.emit(self.position) self.queue_free() func _on_enter_build_mode(): diff --git a/Scripts/camera_3d.gd b/Scripts/camera_3d.gd index 392dd7a..f9eb376 100644 --- a/Scripts/camera_3d.gd +++ b/Scripts/camera_3d.gd @@ -22,7 +22,7 @@ func _ready() -> void: func _process(delta: float) -> void: - debugLabel.text = "Mode: " + str(Global.build_mode) + debugLabel.text = "Mode: " + str(BuildManager.build_mode) global_delta = delta look_at(ownRigidBody.position) self.position.y = -0.1 * pow(self.position.z,2) + zoom_pos # y axis controll for camera diff --git a/Scripts/cart.gd b/Scripts/cart.gd index d07917b..c3a13df 100644 --- a/Scripts/cart.gd +++ b/Scripts/cart.gd @@ -9,7 +9,7 @@ var previewObject var targetPos func _ready() -> void: - Global.object_placed.connect(_on_object_placed) + BuildManager.object_placed.connect(_on_object_placed) func _input(event: InputEvent) -> void: if event.is_action_pressed("hide_top"): diff --git a/Scripts/global_script.gd b/Scripts/global_script.gd index 9be172e..0e9aa27 100644 --- a/Scripts/global_script.gd +++ b/Scripts/global_script.gd @@ -4,25 +4,25 @@ extends Node3D @export var debugLabel1: Label -signal exit_build_mode -signal enter_build_mode - -signal preview_created -signal preview_destroyed - -signal object_placed(build_postion) - -var build_mode: bool = false +#signal exit_build_mode +#signal enter_build_mode +# +#signal preview_created +#signal preview_destroyed +# +#signal object_placed(build_postion) +# +#var build_mode: bool = false func _ready() -> void: print(outline_shader) -func _input(event: InputEvent) -> void: - if event.is_action_released("enter_build_mode"): - if build_mode: - exit_build_mode.emit() - build_mode = false - else: - enter_build_mode.emit() - build_mode = true +#func _input(event: InputEvent) -> void: + #if event.is_action_released("enter_build_mode"): + #if build_mode: + #exit_build_mode.emit() + #build_mode = false + #else: + #enter_build_mode.emit() + #build_mode = true diff --git a/Scripts/person.gd b/Scripts/person.gd index f41f6b9..baa1e24 100644 --- a/Scripts/person.gd +++ b/Scripts/person.gd @@ -13,7 +13,7 @@ func _ready() -> void: meshI = $MeshInstance3D shirt_shader = meshI.get_surface_override_material(1) - Global.object_placed.connect(_on_object_placed) + BuildManager.object_placed.connect(_on_object_placed) set_random_shirt() diff --git a/Scripts/ui/panel_build_select.gd b/Scripts/ui/panel_build_select.gd index 88584d8..99a701a 100644 --- a/Scripts/ui/panel_build_select.gd +++ b/Scripts/ui/panel_build_select.gd @@ -3,8 +3,8 @@ extends Panel func _ready() -> void: self.visible = false - Global.enter_build_mode.connect(_on_enter_build_mode) - Global.exit_build_mode.connect(_on_exit_build_mode) + BuildManager.enter_build_mode.connect(_on_enter_build_mode) + BuildManager.exit_build_mode.connect(_on_exit_build_mode) func _on_enter_build_mode():