158 lines
11 KiB
GDScript
158 lines
11 KiB
GDScript
extends RefCounted
|
|
|
|
# The source planets are lit from their upper-right quadrant.
|
|
const PLANET_LIT_DIRECTION := Vector2(0.70710678, -0.70710678)
|
|
|
|
const STAR_TEXTURES: Array[Texture2D] = [
|
|
preload("res://assets/planet_sun/Suns/Blue Sun/Sun_Blue_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Blue Sun/Sun_Blue_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Blue Sun/Sun_Blue_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Blue Sun/Sun_Blue_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Blue Sun/Sun_Blue_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Red Sun/Sun_Red_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Red Sun/Sun_Red_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Red Sun/Sun_Red_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Red Sun/Sun_Red_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Red Sun/Sun_Red_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Yellow Sun/Sun_Yellow_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Yellow Sun/Sun_Yellow_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Yellow Sun/Sun_Yellow_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Yellow Sun/Sun_Yellow_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Suns/Yellow Sun/Sun_Yellow_05-512x512.png"),
|
|
]
|
|
|
|
const PLANET_TEXTURES: Array[Texture2D] = [
|
|
preload("res://assets/planet_sun/Gaseous/Blue Giant/BlueGiant_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Blue Giant/BlueGiant_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Blue Giant/BlueGiant_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Blue Giant/BlueGiant_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Blue Giant/BlueGiant_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Green Giant/GreenGiant_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Green Giant/GreenGiant_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Green Giant/GreenGiant_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Green Giant/GreenGiant_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Green Giant/GreenGiant_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Orange Giant/OrgangeGiant_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Orange Giant/OrgangeGiant_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Orange Giant/OrgangeGiant_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Orange Giant/OrgangeGiant_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Orange Giant/OrgangeGiant_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Red Giant/RedGiant_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Red Giant/RedGiant_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Red Giant/RedGiant_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Red Giant/RedGiant_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Red Giant/RedGiant_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Yellow Giant/YellowGiant_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Yellow Giant/YellowGiant_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Yellow Giant/YellowGiant_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Yellow Giant/YellowGiant_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Gaseous/Yellow Giant/YellowGiant_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Airless/Airless_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Airless/Airless_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Airless/Airless_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Airless/Airless_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Airless/Airless_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Aquamarine/Aquamarine_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Aquamarine/Aquamarine_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Aquamarine/Aquamarine_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Aquamarine/Aquamarine_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Aquamarine/Aquamarine_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Arid/Arid_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Arid/Arid_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Arid/Arid_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Arid/Arid_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Arid/Arid_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Barren/Barren_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Barren/Barren_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Barren/Barren_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Barren/Barren_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Barren/Barren_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cloudy/Cloudy_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cloudy/Cloudy_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cloudy/Cloudy_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cloudy/Cloudy_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cloudy/Cloudy_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cratered/Cratered_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cratered/Cratered_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cratered/Cratered_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cratered/Cratered_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Cratered/Cratered_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Dry/Dry_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Dry/Dry_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Dry/Dry_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Dry/Dry_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Dry/Dry_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Frozen/Frozen_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Frozen/Frozen_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Frozen/Frozen_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Frozen/Frozen_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Frozen/Frozen_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Glacial/Glacial_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Glacial/Glacial_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Glacial/Glacial_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Glacial/Glacial_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Glacial/Glacial_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Icy/Icy_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Icy/Icy_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Icy/Icy_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Icy/Icy_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Icy/Icy_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lunar/Lunar_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lunar/Lunar_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lunar/Lunar_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lunar/Lunar_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lunar/Lunar_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lush/Lush_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lush/Lush_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lush/Lush_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lush/Lush_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Lush/Lush_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Magma/Magma_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Magma/Magma_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Magma/Magma_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Magma/Magma_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Magma/Magma_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Muddy/Muddy_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Muddy/Muddy_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Muddy/Muddy_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Muddy/Muddy_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Muddy/Muddy_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Oasis/Oasis_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Oasis/Oasis_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Oasis/Oasis_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Oasis/Oasis_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Oasis/Oasis_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Ocean/Ocean_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Ocean/Ocean_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Ocean/Ocean_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Ocean/Ocean_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Ocean/Ocean_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Rocky/Rocky_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Rocky/Rocky_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Rocky/Rocky_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Rocky/Rocky_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Rocky/Rocky_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Snowy/Snowy_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Snowy/Snowy_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Snowy/Snowy_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Snowy/Snowy_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Snowy/Snowy_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Terrestrial/Terrestrial_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Terrestrial/Terrestrial_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Terrestrial/Terrestrial_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Terrestrial/Terrestrial_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Terrestrial/Terrestrial_05-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Tropical/Tropical_01-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Tropical/Tropical_02-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Tropical/Tropical_03-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Tropical/Tropical_04-512x512.png"),
|
|
preload("res://assets/planet_sun/Solid/Tropical/Tropical_05-512x512.png"),
|
|
]
|
|
|
|
static func star_light_color(texture: Texture2D) -> Color:
|
|
if texture.resource_path.contains("/Blue Sun/"):
|
|
return Color(0.76, 0.88, 1.0)
|
|
if texture.resource_path.contains("/Red Sun/"):
|
|
return Color(1.0, 0.72, 0.62)
|
|
return Color(1.0, 0.93, 0.82)
|