This commit is contained in:
2026-01-21 23:40:20 +01:00
commit d1f8068081
478 changed files with 24902 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dph4coqom3ctm"
path="res://.godot/imported/Generator.png-ce0e4bf957d09ea1da1e0b1a5e0d89a9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Maps/Rooms/Generator/MainGenerator/Generator.png"
dest_files=["res://.godot/imported/Generator.png-ce0e4bf957d09ea1da1e0b1a5e0d89a9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,99 @@
extends BasicRoom
class_name Generator
@export var wireSpawners: Array[ItemSpawner]
@export var cellSpawners: Array[ItemSpawner]
var unfixedWires: Array[MinigameInitiator]
var rng: RandomNumberGenerator = RandomNumberGenerator.new()
@onready var SocketL: Area3D = $SocketL
@onready var SocketR: Area3D = $SocketR
@onready var SocketLPivot: Node3D = $SocketL/CellPivot
@onready var SocketRPivot: Node3D = $SocketR/CellPivot
var SocketLPowerCell: GrabableObject
var SocketRPowerCell: GrabableObject
func Ready() -> void:
SpaceshipLogicRef = get_node("/root/Main/Maps/SpaceshipTest")
rng.set_seed(SpaceshipLogicRef.levelGenSeed)
generateMinigames()
generatePowerCells()
func _process(_delta: float) -> void:
checkTasks()
if SocketLPowerCell:
if SocketLPowerCell.isGrabbed:
SocketLPowerCell = null
if SocketRPowerCell:
if SocketRPowerCell.isGrabbed:
SocketRPowerCell = null
grabCell(SocketL,SocketLPowerCell,SocketLPivot)
grabCell(SocketR,SocketRPowerCell,SocketRPivot)
if !SpaceshipLogicRef: return
#if SocketLPowerCell and SocketRPowerCell and SpaceshipLogicRef.taskDict[0].completed:
#SpaceshipLogicRef.power = false
#SpaceshipLogicRef.updateLights()
#else:
#SpaceshipLogicRef.power = true
#SpaceshipLogicRef.updateLights()
func generateMinigames() -> void:
var totalMinigames: int = wireSpawners.size()
var choosenMinigames: int = randi_range(2,clamp(6,2,totalMinigames))
for n in (totalMinigames - choosenMinigames):
wireSpawners.pop_at(randi_range(0,wireSpawners.size()-1))
for itemSpawner in wireSpawners:
unfixedWires.push_back(itemSpawner.spawnItem())
func generatePowerCells() -> void:
var totalCells: int = cellSpawners.size()
var choosenCells: int = randi_range(2,clamp(2 + totalCells /7,2,totalCells))
for n in (totalCells - choosenCells):
cellSpawners.pop_at(randi_range(0,cellSpawners.size()-1))
for itemSpawner in cellSpawners:
itemSpawner.spawnItem()
func grabCell(Socket: Area3D, SocketCell: GrabableObject, SocketPivot: Node3D):
if Socket.has_overlapping_areas() and !SocketCell:
var potentialCell = getPowerCells(Socket)
if potentialCell: potentialCell = potentialCell.obj
else: return
if potentialCell.freeze == true: return
if !potentialCell.isGrabbed:
SocketCell = potentialCell
if Socket == SocketL: SocketLPowerCell = potentialCell
elif Socket == SocketR: SocketRPowerCell = potentialCell
SocketCell.freeze = true
SocketCell.global_position = SocketPivot.global_position
SocketCell.global_rotation = SocketPivot.global_rotation
func getPowerCells(Area: Area3D) -> GrabBox:
var overlappingAreas: Array[Area3D] = Area.get_overlapping_areas()
for a in overlappingAreas:
if typeof(a == GrabBox):
if a.type == "PowerCell":
return a
return null
func checkTasks() -> void:
var allWiresFixed: bool = true
for wire in unfixedWires:
if !wire.minigameCompleted:
allWiresFixed = false
break
if SocketLPowerCell and SocketRPowerCell and allWiresFixed:
SpaceshipLogicRef.solveTask(0)

View File

@@ -0,0 +1 @@
uid://6loaamrfhwdc