Equilibrage, amélioration du tutoriel et de la clarté des éléments de gameplay
* Rajout d'une région supplémentaire pour finir le jeu, et renommage de la dernière map en "Base Borea" * Amélioration de la clarté du détecteur * Les objectifs du tutoriel et les indications de jeu apparaissent désormais en haut de l'écran * Changement des étapes du tutoriel * Amélioration de la lisibilité du voyage dans le vaisseau (avec un décompte de distance jusqu'à la fin du jeu) * Changement de la génération de map : la zone fertile est désormais uniquement au centre de la carte, les chunks sont également plus petits * Changement des objectifs à réaliser ainsi que des recharges, seule 8 par région désormais * Les modificateurs de région n'évoluent plus
This commit is contained in:
@@ -2,8 +2,12 @@
|
||||
extends Node2D
|
||||
class_name DetectorSignal
|
||||
|
||||
const SIGNAL_DURATION = 1
|
||||
const PARTICLES_DISTANCE = 100
|
||||
const SIGNAL_DURATION = 1.2
|
||||
const PARTICLES_DISTANCE = 180
|
||||
const ICON_SIZE = 40
|
||||
const POINT_ICON_SIZE = 30
|
||||
const POINT_ICON_SHIFT = 0.2
|
||||
const POINT_ICON = preload("res://common/icons/caret-down.svg")
|
||||
const DEFAULT_ICON = preload("res://common/icons/north-star.svg")
|
||||
const ENERGY_ICON = preload("res://common/icons/bolt.svg")
|
||||
const DOOR_ICON = preload("res://common/icons/logout.svg")
|
||||
@@ -21,15 +25,17 @@ func _init(region : Region, pos : Vector2):
|
||||
signals.append(
|
||||
DetectorSignalIndividual.new(
|
||||
(pos - e.global_position).normalized().angle(),
|
||||
ENERGY_ICON
|
||||
ENERGY_ICON,
|
||||
Color("ffa617ff")
|
||||
)
|
||||
)
|
||||
if e is Door and e.available:
|
||||
signals.append(
|
||||
DetectorSignalIndividual.new(
|
||||
(pos - e.global_position).normalized().angle(),
|
||||
DOOR_ICON
|
||||
)
|
||||
DOOR_ICON,
|
||||
Color("ffa617ff")
|
||||
),
|
||||
)
|
||||
if e is Plant:
|
||||
signals.append(
|
||||
@@ -49,11 +55,26 @@ func _draw():
|
||||
5.
|
||||
)
|
||||
for s in signals:
|
||||
draw_texture(
|
||||
draw_texture_rect(
|
||||
s.icon,
|
||||
Vector2.ZERO - DEFAULT_ICON.get_size()/2 + Vector2.LEFT.rotated(s.angle) * started_time/SIGNAL_DURATION * PARTICLES_DISTANCE,
|
||||
Rect2(
|
||||
Vector2.ZERO - (Vector2.ONE * ICON_SIZE)/2 + Vector2.LEFT.rotated(s.angle) * started_time/SIGNAL_DURATION * PARTICLES_DISTANCE,
|
||||
Vector2.ONE * ICON_SIZE
|
||||
),
|
||||
false,
|
||||
Color(s.color.r,s.color.g,s.color.b,1-started_time/SIGNAL_DURATION)
|
||||
)
|
||||
draw_set_transform(Vector2.ZERO,s.angle + PI/2, Vector2.ONE)
|
||||
draw_texture_rect(
|
||||
POINT_ICON,
|
||||
Rect2(
|
||||
Vector2.ZERO - (Vector2.ONE * POINT_ICON_SIZE)/2 + Vector2.DOWN * (started_time/SIGNAL_DURATION + POINT_ICON_SHIFT) * PARTICLES_DISTANCE,
|
||||
Vector2.ONE * POINT_ICON_SIZE
|
||||
),
|
||||
false,
|
||||
Color(1.,1.,1.,1-started_time/SIGNAL_DURATION)
|
||||
)
|
||||
draw_set_transform(Vector2.ZERO,0., Vector2.ONE)
|
||||
|
||||
func _process(delta):
|
||||
if started_time < SIGNAL_DURATION:
|
||||
@@ -65,11 +86,14 @@ func _process(delta):
|
||||
class DetectorSignalIndividual:
|
||||
var angle : float
|
||||
var icon : Texture
|
||||
var color : Color
|
||||
|
||||
func _init(
|
||||
_angle : float = 0.,
|
||||
_icon : Texture = DEFAULT_ICON
|
||||
_icon : Texture = DEFAULT_ICON,
|
||||
_color : Color = Color.WHITE,
|
||||
):
|
||||
angle = _angle
|
||||
icon = _icon
|
||||
color = _color
|
||||
|
||||
|
||||
Reference in New Issue
Block a user