Compare commits
3 Commits
281f42d90c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d724e2c63 | ||
|
|
45281057f2 | ||
|
|
53e86be2ce |
@@ -207,7 +207,7 @@ func change_ambiances_volume(db_change := 0., fade := DEFAULT_FADE_TIME):
|
|||||||
|
|
||||||
# Joue un
|
# Joue un
|
||||||
# - player_name : Nom de la Node dans la scène Godot à jouer
|
# - player_name : Nom de la Node dans la scène Godot à jouer
|
||||||
func play_sfx(sfx_name : String, pitch = 1.):
|
func play_sfx(sfx_name : String, _pitch = 1.):
|
||||||
var player := %Sfx.find_child(sfx_name) as AudioStreamPlayer
|
var player := %Sfx.find_child(sfx_name) as AudioStreamPlayer
|
||||||
if player:
|
if player:
|
||||||
player.play()
|
player.play()
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cf554gg3t0miv"
|
||||||
|
path="res://.godot/imported/energy_cell_off - SAVE.png-1628a904600f784017aee64f240ea4ec.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://entities/interactables/energy_cell/assets/sprites/energy_cell_off - SAVE.png"
|
||||||
|
dest_files=["res://.godot/imported/energy_cell_off - SAVE.png-1628a904600f784017aee64f240ea4ec.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 42 KiB |
@@ -131,7 +131,6 @@ libraries/ = SubResource("AnimationLibrary_ng3e4")
|
|||||||
autoplay = &"default"
|
autoplay = &"default"
|
||||||
|
|
||||||
[node name="TractorBeam" type="CPUParticles2D" parent="." unique_id=382704689]
|
[node name="TractorBeam" type="CPUParticles2D" parent="." unique_id=382704689]
|
||||||
z_index = -1
|
|
||||||
position = Vector2(83, 0)
|
position = Vector2(83, 0)
|
||||||
scale = Vector2(0.7, 0.7)
|
scale = Vector2(0.7, 0.7)
|
||||||
emitting = false
|
emitting = false
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://8jej5dv8qy13"
|
||||||
|
path="res://.godot/imported/talion_cell_off - SAVE.png-ab748f617cf76620f977b70e834f8ac8.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://entities/interactables/talion_cell/assets/sprites/talion_cell_off - SAVE.png"
|
||||||
|
dest_files=["res://.godot/imported/talion_cell_off - SAVE.png-ab748f617cf76620f977b70e834f8ac8.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 46 KiB |
@@ -4,14 +4,17 @@ class_name Battery3d
|
|||||||
|
|
||||||
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
|
||||||
|
|
||||||
@export var powered : bool = true : set = set_powered
|
@export var powered: bool = true
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_powered()
|
set_powered()
|
||||||
|
|
||||||
func set_powered(_powered : bool = powered):
|
func set_powered(_powered: bool = powered, with_animation: bool = true):
|
||||||
var old_powered = powered
|
var old_powered = powered
|
||||||
powered = _powered
|
powered = _powered
|
||||||
if is_node_ready() and old_powered != powered:
|
if is_node_ready() and old_powered != powered:
|
||||||
var tween : Tween = get_tree().create_tween()
|
if with_animation:
|
||||||
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)
|
var tween: Tween = get_tree().create_tween()
|
||||||
|
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)
|
||||||
|
else:
|
||||||
|
%NonPoweredBatteryGauge.scale.y = 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ var max_energy := 0
|
|||||||
func update(
|
func update(
|
||||||
_energy : int,
|
_energy : int,
|
||||||
_max_energy : int,
|
_max_energy : int,
|
||||||
_with_animation := true,
|
with_animation := true,
|
||||||
):
|
):
|
||||||
var changed = (energy != _energy or max_energy != _max_energy)
|
var changed = (energy != _energy or max_energy != _max_energy)
|
||||||
if changed:
|
if changed:
|
||||||
@@ -23,7 +23,7 @@ func update(
|
|||||||
|
|
||||||
# if with_animation:
|
# if with_animation:
|
||||||
# %EnergyAnimationPlayer.bounce()
|
# %EnergyAnimationPlayer.bounce()
|
||||||
%EnergyInfo3d.energy = energy
|
%EnergyInfo3d.set_energy(energy, with_animation)
|
||||||
%EnergyInfo3d.max_energy = max_energy
|
%EnergyInfo3d.max_energy = max_energy
|
||||||
%EnergyCount.text = energy_count_text
|
%EnergyCount.text = energy_count_text
|
||||||
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED
|
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED
|
||||||
@@ -2,15 +2,15 @@
|
|||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
|
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
|
||||||
const BATTERY_SHIFT = Vector3(0,0,-1)
|
const BATTERY_SHIFT = Vector3(0, 0, -1)
|
||||||
|
|
||||||
@export var max_energy : int = 0 : set = set_max_energy
|
@export var max_energy: int = 0: set = set_max_energy
|
||||||
@export var energy : int = 0 : set = set_energy
|
@export var energy: int = 0
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_max_energy()
|
set_max_energy()
|
||||||
|
|
||||||
func set_max_energy(_max_energy : int = max_energy):
|
func set_max_energy(_max_energy: int = max_energy):
|
||||||
max_energy = _max_energy
|
max_energy = _max_energy
|
||||||
if is_node_ready() and max_energy != len(%Batteries.get_children()):
|
if is_node_ready() and max_energy != len(%Batteries.get_children()):
|
||||||
for c in %Batteries.get_children():
|
for c in %Batteries.get_children():
|
||||||
@@ -24,7 +24,7 @@ func set_max_energy(_max_energy : int = max_energy):
|
|||||||
await get_tree().create_timer(0.1).timeout
|
await get_tree().create_timer(0.1).timeout
|
||||||
set_energy()
|
set_energy()
|
||||||
|
|
||||||
func set_energy(_energy : int = energy):
|
func set_energy(_energy: int = energy, with_animation: bool = true):
|
||||||
energy = _energy
|
energy = _energy
|
||||||
if is_node_ready():
|
if is_node_ready():
|
||||||
var energy_count = 0
|
var energy_count = 0
|
||||||
@@ -32,5 +32,5 @@ func set_energy(_energy : int = energy):
|
|||||||
if not battery.is_node_ready():
|
if not battery.is_node_ready():
|
||||||
await battery.ready
|
await battery.ready
|
||||||
if battery is Battery3d:
|
if battery is Battery3d:
|
||||||
battery.powered = energy_count < energy
|
battery.set_powered(energy_count < energy, with_animation)
|
||||||
energy_count += 1
|
energy_count += 1
|
||||||
|
|||||||
@@ -149,10 +149,10 @@ func process_player_actions(delta: float):
|
|||||||
%ActionProgressBar.value = 0.
|
%ActionProgressBar.value = 0.
|
||||||
|
|
||||||
if Input.is_action_just_pressed("action"):
|
if Input.is_action_just_pressed("action"):
|
||||||
if inspected is InventoryGuiItemMouseDetector:
|
if can_use_item and not current_selected_item.is_action_need_press_time() and current_selected_item.deactivate_interactable():
|
||||||
GameInfo.game_data.player_data.inventory.set_current_item(inspected.index)
|
|
||||||
elif can_use_item and not current_selected_item.is_action_need_press_time() and current_selected_item.deactivate_interactable():
|
|
||||||
player.try_use_item(current_selected_item, player.get_global_mouse_position())
|
player.try_use_item(current_selected_item, player.get_global_mouse_position())
|
||||||
|
elif inspected is InventoryGuiItemMouseDetector:
|
||||||
|
GameInfo.game_data.player_data.inventory.set_current_item(inspected.index)
|
||||||
elif can_interact:
|
elif can_interact:
|
||||||
var interactable = inspected as Interactable
|
var interactable = inspected as Interactable
|
||||||
player.try_interact(interactable)
|
player.try_interact(interactable)
|
||||||
@@ -261,7 +261,7 @@ func update_inspector(current_inspected):
|
|||||||
|
|
||||||
func update_cursor():
|
func update_cursor():
|
||||||
var cursor := default_cursor
|
var cursor := default_cursor
|
||||||
var hotspot : = Vector2(0.,0.)
|
var hotspot := Vector2(0., 0.)
|
||||||
if not Pause.pause and player and not action_disabled:
|
if not Pause.pause and player and not action_disabled:
|
||||||
if current_selected_item and current_selected_item.get_pointer():
|
if current_selected_item and current_selected_item.get_pointer():
|
||||||
cursor = current_selected_item.get_pointer()
|
cursor = current_selected_item.get_pointer()
|
||||||
@@ -270,10 +270,10 @@ func update_cursor():
|
|||||||
cursor = current_selected_item.get_clicked_pointer()
|
cursor = current_selected_item.get_clicked_pointer()
|
||||||
|
|
||||||
if current_selected_item.is_pointer_center():
|
if current_selected_item.is_pointer_center():
|
||||||
hotspot = Vector2(cursor.get_width()/2., cursor.get_height()/2.)
|
hotspot = Vector2(cursor.get_width() / 2., cursor.get_height() / 2.)
|
||||||
elif can_interact:
|
elif can_interact:
|
||||||
cursor = action_cursor
|
cursor = action_cursor
|
||||||
Input.set_custom_mouse_cursor(cursor,0,hotspot)
|
Input.set_custom_mouse_cursor(cursor, Input.CURSOR_ARROW, hotspot)
|
||||||
|
|
||||||
func stop_inspect(node: Node):
|
func stop_inspect(node: Node):
|
||||||
if not dragging_inspected:
|
if not dragging_inspected:
|
||||||
@@ -294,6 +294,9 @@ func start_dragging():
|
|||||||
inspected_inventory_slot = inspected
|
inspected_inventory_slot = inspected
|
||||||
inspected = dropped_item_object
|
inspected = dropped_item_object
|
||||||
player.region.save()
|
player.region.save()
|
||||||
|
else:
|
||||||
|
dragging_inspected = false
|
||||||
|
GameInfo.game_data.player_data.inventory.set_current_item(inspected.index)
|
||||||
else:
|
else:
|
||||||
dragging_inspected = false
|
dragging_inspected = false
|
||||||
if dragging_inspected:
|
if dragging_inspected:
|
||||||
@@ -306,10 +309,10 @@ func stop_dragging():
|
|||||||
dragging_inspected = false
|
dragging_inspected = false
|
||||||
if inspected is ItemObject:
|
if inspected is ItemObject:
|
||||||
inspected.object_sprite.tractor_beam.emitting = false
|
inspected.object_sprite.tractor_beam.emitting = false
|
||||||
if (
|
if inspected_inventory_slot is InventoryGuiItemMouseDetector:
|
||||||
inspected_inventory_slot is InventoryGuiItemMouseDetector
|
if GameInfo.game_data.player_data.inventory.add_item_at(inspected.item, inspected_inventory_slot.index):
|
||||||
and GameInfo.game_data.player_data.inventory.add_item_at(inspected.item, inspected_inventory_slot.index)
|
all_inspected.clear()
|
||||||
):
|
inspected.queue_free()
|
||||||
all_inspected.clear()
|
inspect(inspected_inventory_slot)
|
||||||
inspected.queue_free()
|
else:
|
||||||
inspected = null
|
stop_inspect(inspected)
|
||||||
|
|||||||
Reference in New Issue
Block a user