Dev de la démo
* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
This commit is contained in:
@@ -11,7 +11,7 @@ const MOUSE_SENSIVITY = 0.002
|
||||
const RAY_LENGTH = 10.
|
||||
const PUSH_FORCE = 0.6
|
||||
|
||||
var cockpit_action_hovered : Interactable3D = null
|
||||
var action_hovered : Interactable3D = null
|
||||
var query_mouse := false
|
||||
|
||||
@export var controlling_player = true
|
||||
@@ -28,22 +28,30 @@ func _ready():
|
||||
controlling_player = true
|
||||
)
|
||||
|
||||
%MoveTutorial.visible = not "3d_move" in GameInfo.game_data.tutorials_done
|
||||
%InteractTutorial.visible = false
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
|
||||
%Camera3D.rotate_x(-event.relative.y * MOUSE_SENSIVITY)
|
||||
%Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70))
|
||||
query_mouse = true
|
||||
if event.is_action_pressed("action") and cockpit_action_hovered and cockpit_action_hovered.interactable:
|
||||
cockpit_action_hovered.click()
|
||||
if controlling_player:
|
||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
|
||||
%Camera3D.rotate_x(-event.relative.y * MOUSE_SENSIVITY)
|
||||
%Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70))
|
||||
query_mouse = true
|
||||
if event.is_action_pressed("action") and action_hovered and action_hovered.interactable:
|
||||
if %InteractTutorial.visible:
|
||||
var tween = create_tween()
|
||||
tween.tween_property(%InteractTutorial, "modulate:a", 0., 0.8)
|
||||
GameInfo.game_data.tutorials_done.append("3d_action")
|
||||
action_hovered.click()
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
if controlling_player:
|
||||
if query_mouse:
|
||||
update_mouse_hovered_cockpit_actions()
|
||||
update_mouse_hovered_actions()
|
||||
%PointerTexture.texture = (
|
||||
POINTER_ACTION_TEXTURE if cockpit_action_hovered != null and cockpit_action_hovered.interactable
|
||||
POINTER_ACTION_TEXTURE if action_hovered != null and action_hovered.interactable
|
||||
else POINTER_TEXTURE
|
||||
)
|
||||
query_mouse = false
|
||||
@@ -60,6 +68,12 @@ func _physics_process(delta):
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, speed)
|
||||
velocity.z = move_toward(velocity.z, 0, speed)
|
||||
|
||||
if %MoveTutorial.visible and direction.length():
|
||||
var tween = create_tween()
|
||||
tween.tween_property(%MoveTutorial, "modulate:a", 0., 0.8)
|
||||
GameInfo.game_data.tutorials_done.append("3d_move")
|
||||
|
||||
else :
|
||||
velocity = Vector3.ZERO
|
||||
|
||||
@@ -75,7 +89,7 @@ func _physics_process(delta):
|
||||
-collision.get_normal() * PUSH_FORCE
|
||||
)
|
||||
|
||||
func update_mouse_hovered_cockpit_actions() -> void:
|
||||
func update_mouse_hovered_actions() -> void:
|
||||
|
||||
var space_state = get_world_3d().direct_space_state
|
||||
var middle_screen = get_viewport().get_visible_rect().size / 2
|
||||
@@ -87,12 +101,19 @@ func update_mouse_hovered_cockpit_actions() -> void:
|
||||
var result = space_state.intersect_ray(query)
|
||||
|
||||
if result and result.collider and result.collider is Interactable3D:
|
||||
if cockpit_action_hovered != result.collider:
|
||||
if cockpit_action_hovered and cockpit_action_hovered != result.collider:
|
||||
cockpit_action_hovered._on_mouse_exited()
|
||||
cockpit_action_hovered = result.collider
|
||||
cockpit_action_hovered._on_mouse_entered()
|
||||
|
||||
if action_hovered != result.collider:
|
||||
if action_hovered and action_hovered != result.collider:
|
||||
action_hovered._on_mouse_exited()
|
||||
action_hovered = result.collider
|
||||
action_hovered._on_mouse_entered()
|
||||
|
||||
if not "3d_action" in GameInfo.game_data.tutorials_done:
|
||||
%InteractTutorial.visible = true
|
||||
%InteractTutorial.modulate.a = 0.
|
||||
var tween = create_tween()
|
||||
tween.tween_property(%InteractTutorial, "modulate:a", 1., 0.2)
|
||||
else :
|
||||
if cockpit_action_hovered:
|
||||
cockpit_action_hovered._on_mouse_exited()
|
||||
cockpit_action_hovered = null
|
||||
if action_hovered:
|
||||
action_hovered._on_mouse_exited()
|
||||
action_hovered = null
|
||||
|
||||
Reference in New Issue
Block a user