Added Glitch Room Source code to Gitty
This commit is contained in:
commit
1ac9eb5644
505 files changed
+28504
No files matched your search
@@ -0,0 +1,42 @@
|
||||
@tool
|
||||
extends "res://games/pacman/pacman_view.gd"
|
||||
## A static design-time board, using the same renderer as the running game.
|
||||
## No gameplay model, audio, input handlers, or room events are instantiated.
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
if not Engine.is_editor_hint():
|
||||
hide()
|
||||
set_process(false)
|
||||
return
|
||||
var preview_ghosts: Array[Dictionary] = []
|
||||
for i in range(4):
|
||||
var ghost := Maze.actor([Maze.DOOR, Vector2i(13, 14), Vector2i(11, 14), Vector2i(15, 14)][i], Vector2i.LEFT)
|
||||
ghost["status"] = "active" if i == 0 else "house"
|
||||
ghost["frightened"] = false
|
||||
preview_ghosts.append(ghost)
|
||||
model = {
|
||||
"state": "ready", "phase_time": 2.0, "clock": 0.0,
|
||||
"score": 0, "high_score": 0, "level": 1, "lives": 3,
|
||||
"dots": Maze.pellets(), "player": Maze.actor(Maze.PLAYER_START, Vector2i.LEFT),
|
||||
"ghosts": preview_ghosts, "fruit_time": 0.0, "fright_time": 0.0,
|
||||
"popup_time": 0.0,
|
||||
}
|
||||
_update_preview()
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if Engine.is_editor_hint(): _update_preview()
|
||||
|
||||
func _update_preview() -> void:
|
||||
# Match runtime placement inside the configured game viewport, independently
|
||||
# of the editor's current panel size, zoom, and pan.
|
||||
var screen_size := Vector2(
|
||||
ProjectSettings.get_setting("display/window/size/viewport_width", 1920),
|
||||
ProjectSettings.get_setting("display/window/size/viewport_height", 1080)
|
||||
)
|
||||
var factor := minf(screen_size.x / GAME_RECT.size.x, screen_size.y / GAME_RECT.size.y)
|
||||
if factor >= 1.0: factor = floorf(factor)
|
||||
scale = Vector2.ONE * factor
|
||||
position = ((screen_size - GAME_RECT.size * factor) * 0.5).floor()
|
||||
model.lives = int(get_parent().get("starting_lives"))
|
||||
queue_redraw()
|
||||
Reference in new issue
Block a user