41 lines
1.5 KiB
GDScript
41 lines
1.5 KiB
GDScript
class_name RoomConfig extends Resource
|
|
|
|
@export_group('Player')
|
|
## The initial player spawn point.
|
|
## Only used if one wasn't provided to the room beforehand.
|
|
@export var initial_spawn: Vector2i = Vector2i.ZERO
|
|
## Enables player's point light.
|
|
@export var enable_point_light: bool = false
|
|
## Intensity of player's point light.
|
|
@export_range(0,16,0.4) var point_light_energy: float = 0
|
|
|
|
@export_group('Camera')
|
|
## Whether the camera will (initially) follow the player ot not.
|
|
@export var follow_player: bool = true
|
|
## Initial position of the camera.
|
|
@export var camera_position: Vector2i = Vector2i.ZERO
|
|
|
|
@export_group('Lighting')
|
|
## Enables the default canvas modulate.
|
|
@export var enable_canvas_modulate: bool = false
|
|
## Color of the canvas modulate.
|
|
@export var modulate_color: Color
|
|
## Color palette for the room.
|
|
@export var room_palette: Texture2D = preload("uid://h5523ru86vrd")
|
|
## Number of colors in palette.
|
|
@export var palette_size: int = 120
|
|
|
|
@export_group('Room Loop')
|
|
## Whether the room loops itself or not.
|
|
@export var loopable: bool = false
|
|
## Section of the room that will loop itself.
|
|
@export var loop_size: Rect2i = Rect2i(Vector2i.ZERO, Vector2i.ZERO)
|
|
|
|
@export_group('Transitions')
|
|
@export_subgroup('In')
|
|
## Enables transition when room starts.
|
|
@export var enable_transition_in: bool = true
|
|
## What transition type plays when starting the room.
|
|
@export var transition_in_type: Tween.TransitionType = Tween.TransitionType.TRANS_CUBIC
|
|
## How long the transition lasts.
|
|
@export var transition_in_duration: float = 1.0
|