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