33 lines
642 B
GDScript
33 lines
642 B
GDScript
class_name PauseSystem extends Node
|
|
|
|
enum PauseType {
|
|
NOT_PAUSED,
|
|
FULLY_PAUSED,
|
|
ENTITY_PAUSED,
|
|
CUTSCENE_PAUSED
|
|
};
|
|
|
|
var pauseType:PauseType = PauseType.NOT_PAUSED;
|
|
var entities:Array = [];
|
|
var playerPaused:bool = false;
|
|
|
|
func getPauseState() -> PauseType:
|
|
if isPlayerPaused():
|
|
return PauseType.FULLY_PAUSED;
|
|
return pauseType;
|
|
|
|
func pause(
|
|
pauseType:PauseType,
|
|
entities:Array = [],
|
|
) -> void:
|
|
self.pauseType = pauseType;
|
|
self.entities = entities;
|
|
|
|
func unpause() -> void:
|
|
self.pauseType = PauseType.NOT_PAUSED;
|
|
|
|
func isPlayerPaused() -> bool:
|
|
return playerPaused;
|
|
|
|
func playerPauseToggle() -> void:
|
|
playerPaused = !playerPaused; |