Initial Commit
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
# CameraSystem.gd
|
||||
extends Node
|
||||
class_name CameraManager
|
||||
|
||||
@export var display: TextureRect
|
||||
var current_room: Room
|
||||
@export var rooms: Array[Room] = []
|
||||
|
||||
func select_room(room_id: Global.LocationID):
|
||||
for room in rooms:
|
||||
print(room, room.room_id)
|
||||
print("Comparing room id: ", room.room_id, " With: ", room_id)
|
||||
if room.room_id == room_id:
|
||||
current_room = room
|
||||
break
|
||||
|
||||
func force_room(index: int):
|
||||
if index >= 0 and index < rooms.size():
|
||||
current_room = rooms[index]
|
||||
else:
|
||||
print("force_room: invalid index ", index)
|
||||
|
||||
func _process(_delta):
|
||||
if current_room == null:
|
||||
current_room = rooms[0]
|
||||
if current_room:
|
||||
current_room._process(_delta)
|
||||
display.texture = current_room.getTexture()
|
||||
|
||||
|
||||
func _on_cam_pressed(id:int) -> void:
|
||||
print("Camera Change with: ", id)
|
||||
force_room(id)
|
||||
return
|
||||
var eRoom: Global.LocationID
|
||||
match id:
|
||||
0: eRoom = Global.LocationID.POWER_STATION
|
||||
1: eRoom = Global.LocationID.DINING_AREA
|
||||
2: eRoom = Global.LocationID.WEST_HALL
|
||||
3: eRoom = Global.LocationID.EAST_HALL
|
||||
4: eRoom = Global.LocationID.SUPPLY_CLOSET
|
||||
5: eRoom = Global.LocationID.BACKSTAGE
|
||||
6: eRoom = Global.LocationID.LIVING_AREA
|
||||
7: eRoom = Global.LocationID.OFFICE_LEFT_DOOR
|
||||
8: eRoom = Global.LocationID.OFFICE_RIGHT_DOOR
|
||||
9: eRoom = Global.LocationID.OFFICE
|
||||
select_room(eRoom)
|
||||
@@ -1 +0,0 @@
|
||||
uid://cxj3fa512gs6r
|
||||
@@ -1,10 +1,10 @@
|
||||
class_name NightManager
|
||||
class_name cNight
|
||||
extends Node
|
||||
|
||||
signal hour_changed(new_hour)
|
||||
signal night_completed
|
||||
|
||||
@export var seconds_per_hour := 10.0 # FNAF-ish
|
||||
@export var seconds_per_hour := 10.0
|
||||
@export var start_hour := 12
|
||||
@export var end_hour := 6
|
||||
|
||||
@@ -1,55 +1,17 @@
|
||||
extends Node
|
||||
class_name Room
|
||||
class_name cRoom
|
||||
extends Resource
|
||||
|
||||
#@export var visual: TextureRect
|
||||
var id: int
|
||||
var name: String
|
||||
var connections: Array = []
|
||||
var enemies: Array = []
|
||||
|
||||
# One entry per valid combination
|
||||
# Key = sorted list of enemy IDs + their pose index
|
||||
#@export var render_map: Dictionary
|
||||
func add_enemy(enemy):
|
||||
if enemy not in enemies:
|
||||
enemies.append(enemy)
|
||||
|
||||
@export var enemies: Array[cCharacter] # all AI that *could* appear here
|
||||
@export var room_id: Global.LocationID
|
||||
var last_key := ""
|
||||
var texture: Texture2D
|
||||
var render_map: Dictionary
|
||||
|
||||
#func _process(_delta):
|
||||
#var key := _build_render_key()
|
||||
#if key == last_key:
|
||||
#return
|
||||
#
|
||||
#last_key = key
|
||||
#
|
||||
#
|
||||
#if render_map.has(key):
|
||||
#visual.texture = render_map[key]
|
||||
#else:
|
||||
#visual.texture = null # or fallback
|
||||
|
||||
func _process(_delta):
|
||||
var key := _build_render_key()
|
||||
if key == null: texture = render_map[""]
|
||||
func remove_enemy(enemy):
|
||||
enemies.erase(enemy)
|
||||
|
||||
if key == last_key:
|
||||
return
|
||||
#
|
||||
last_key = key
|
||||
#
|
||||
if render_map.has(key):
|
||||
texture = render_map[key]
|
||||
else:
|
||||
texture = render_map["default"]
|
||||
|
||||
func getTexture() -> Texture2D:
|
||||
return texture
|
||||
|
||||
func _build_render_key() -> String:
|
||||
var entries := []
|
||||
|
||||
for enemy in enemies:
|
||||
var presence : int = enemy.get_room_presence(room_id)
|
||||
if presence >= 0:
|
||||
entries.append("%s:%d" % [enemy.name, presence])
|
||||
|
||||
entries.sort()
|
||||
return "|".join(entries)
|
||||
func _process(_delta):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user