Empty
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
class_name BattleStartEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var battle:Battle;
|
||||
|
||||
func _init(battle:Battle):
|
||||
super._init();
|
||||
self.battle = battle;
|
||||
|
||||
func start() -> void:
|
||||
super.start();
|
||||
getSystems().BATTLE.startBattle(self.battle);
|
@@ -1 +0,0 @@
|
||||
uid://e3ybjhvx0u1j
|
@@ -1,11 +0,0 @@
|
||||
class_name CookingStartEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
const CookingGame = preload("res://scripts/Cooking/CookingGame.gd");
|
||||
|
||||
var cook:CookingGame;
|
||||
|
||||
func _init(cook:CookingGame) -> void:
|
||||
self.cook = cook;
|
||||
|
||||
func start() -> void:
|
||||
getSystems().COOKING.setCookingGame(self.cook);
|
||||
getSystems().SCENE.setScene(SceneSystem.DawnScene.COOKING);
|
@@ -1 +0,0 @@
|
||||
uid://cvgjwamgxd47o
|
@@ -1,42 +0,0 @@
|
||||
class_name Cutscene
|
||||
const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd");
|
||||
|
||||
var queue:Array[CutsceneEvent] = [];
|
||||
var cutsceneSystem = null;
|
||||
|
||||
func setupCutscene() -> void:
|
||||
print_debug("Cutscene setup has not been overriden");
|
||||
pass
|
||||
|
||||
func update(delta:float) -> void:
|
||||
if queue.size() == 0:
|
||||
return
|
||||
|
||||
var item = queue[0]
|
||||
if !item.started:
|
||||
item.start()
|
||||
item.started = true
|
||||
|
||||
item.update(delta)
|
||||
|
||||
if item.isDone():
|
||||
item.end()
|
||||
queue.erase(item)
|
||||
|
||||
pass
|
||||
|
||||
func add(items:Array[CutsceneEvent]) -> void:
|
||||
for item in items:
|
||||
item.cutscene = self
|
||||
queue.append(item)
|
||||
|
||||
func clear() -> void:
|
||||
if queue.size() == 0:
|
||||
return
|
||||
|
||||
var item = queue[0]
|
||||
if item.started:
|
||||
item.end()
|
||||
item.started = false
|
||||
|
||||
queue.clear()
|
@@ -1 +0,0 @@
|
||||
uid://dyjbgcpycptxj
|
@@ -1,32 +0,0 @@
|
||||
class_name CutsceneEvent
|
||||
const Systems = preload("res://scripts/System/Systems.gd")
|
||||
|
||||
var started:bool = false;
|
||||
var cutscene = null;
|
||||
|
||||
func _init() -> void:
|
||||
pass
|
||||
|
||||
func start() -> void:
|
||||
started = true
|
||||
|
||||
func update(delta:float) -> void:
|
||||
pass
|
||||
|
||||
func isDone() -> bool:
|
||||
return true
|
||||
|
||||
func end() -> void:
|
||||
pass
|
||||
|
||||
func reset() -> void:
|
||||
started = false
|
||||
|
||||
func getCutscene():
|
||||
return cutscene
|
||||
|
||||
func getCutsceneSystem():
|
||||
return cutscene.cutsceneSystem;
|
||||
|
||||
func getSystems() -> Systems:
|
||||
return getCutsceneSystem().get_node("..") as Systems;
|
@@ -1 +0,0 @@
|
||||
uid://chb6031ke0xeg
|
@@ -1,17 +0,0 @@
|
||||
class_name CutsceneChangeEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var getCutscene:Callable
|
||||
var cutsceneNext:Cutscene
|
||||
|
||||
func _init(getCutscene:Callable) -> void:
|
||||
super._init();
|
||||
self.getCutscene = getCutscene;
|
||||
|
||||
func start() -> void:
|
||||
super.start();
|
||||
self.cutsceneNext = self.getCutscene.call(self);
|
||||
|
||||
func end() -> void:
|
||||
self.cutsceneNext.setupCutscene();
|
||||
self.cutsceneNext.start();
|
||||
getSystems().CUTSCENE.setCurrentCutscene(self.cutsceneNext);
|
@@ -1 +0,0 @@
|
||||
uid://crnwlun27bocw
|
@@ -1,73 +0,0 @@
|
||||
class_name CutsceneConcurrentEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
enum ConcurrentType {
|
||||
SEQUENTIAL,
|
||||
PARALLEL,
|
||||
FIRST_DONE
|
||||
}
|
||||
|
||||
var events:Array[CutsceneEvent] = []
|
||||
var type:ConcurrentType = ConcurrentType.SEQUENTIAL
|
||||
var current:int = 0
|
||||
|
||||
func _init(t:ConcurrentType, evts:Array[CutsceneEvent]) -> void:
|
||||
super._init();
|
||||
self.events = evts;
|
||||
self.type = t;
|
||||
|
||||
func update(delta:float) -> void:
|
||||
if self.type == ConcurrentType.PARALLEL:
|
||||
for event in self.events:
|
||||
if !event.started:
|
||||
event.start()
|
||||
event.started = true
|
||||
|
||||
if !event.isDone():
|
||||
event.update(delta)
|
||||
|
||||
if event.isDone():
|
||||
event.end()
|
||||
|
||||
elif self.type == ConcurrentType.FIRST_DONE:
|
||||
for event in self.events:
|
||||
if !event.started:
|
||||
event.start()
|
||||
event.started = true
|
||||
|
||||
event.update(delta)
|
||||
|
||||
if event.isDone():
|
||||
event.end()
|
||||
break
|
||||
|
||||
elif self.type == ConcurrentType.SEQUENTIAL:
|
||||
if self.current >= self.events.size():
|
||||
return;
|
||||
|
||||
var evt = self.events[self.current]
|
||||
if !evt.started:
|
||||
evt.start()
|
||||
evt.started = true
|
||||
|
||||
evt.update(delta)
|
||||
|
||||
if evt.isDone():
|
||||
evt.end()
|
||||
self.current += 1
|
||||
|
||||
func isDone() -> bool:
|
||||
if self.type == ConcurrentType.SEQUENTIAL:
|
||||
return self.current >= self.events.size();
|
||||
elif self.type == ConcurrentType.PARALLEL:
|
||||
for evt in self.events:
|
||||
if !evt.isDone():
|
||||
return false;
|
||||
return true;
|
||||
elif self.type == ConcurrentType.FIRST_DONE:
|
||||
for evt in self.events:
|
||||
if evt.isDone():
|
||||
return true;
|
||||
return false;
|
||||
|
||||
printerr("Invalid ConcurrentType")
|
||||
return false;
|
@@ -1 +0,0 @@
|
||||
uid://bwait88cm8pvd
|
@@ -1,32 +0,0 @@
|
||||
class_name CutsceneIfEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var eventTrue:CutsceneEvent
|
||||
var eventFalse:CutsceneEvent
|
||||
var condition:Callable
|
||||
var result:bool = false
|
||||
|
||||
func _init(cond:Callable, evtTrue:CutsceneEvent, evtFalse:CutsceneEvent) -> void:
|
||||
super._init();
|
||||
condition = cond;
|
||||
eventTrue = evtTrue;
|
||||
eventFalse = evtFalse;
|
||||
|
||||
func start() -> void:
|
||||
super.start();
|
||||
result = self.condition.call(self);
|
||||
|
||||
if result:
|
||||
eventTrue.start();
|
||||
else:
|
||||
eventFalse.start();
|
||||
|
||||
func getEvent() -> CutsceneEvent:
|
||||
if result:
|
||||
return eventTrue;
|
||||
return eventFalse;
|
||||
|
||||
func update(delta:float) -> void:
|
||||
getEvent().update(delta);
|
||||
|
||||
func isDone() -> bool:
|
||||
return getEvent().isDone();
|
@@ -1 +0,0 @@
|
||||
uid://2txg4eswrh0q
|
@@ -1,16 +0,0 @@
|
||||
class_name CutscenePauseEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
const PauseSystem = preload("res://scripts/System/PauseSystem.gd")
|
||||
|
||||
var pauseType:PauseSystem.PauseType;
|
||||
var pauseEntities:Array = [];
|
||||
|
||||
func _init(
|
||||
type:PauseSystem.PauseType,
|
||||
entities:Array = [],
|
||||
) -> void:
|
||||
super._init();
|
||||
self.pauseType = type;
|
||||
self.pauseEntities = entities;
|
||||
|
||||
func start() -> void:
|
||||
getSystems().PAUSE.pause(self.pauseType, self.pauseEntities);
|
@@ -1 +0,0 @@
|
||||
uid://dj1kkm2vvvr2d
|
@@ -1,10 +0,0 @@
|
||||
class_name CutscenePrintEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var text:String = ""
|
||||
|
||||
func _init(text:String) -> void:
|
||||
super._init()
|
||||
self.text = text
|
||||
|
||||
func start() -> void:
|
||||
print(self.text)
|
@@ -1 +0,0 @@
|
||||
uid://cknkpwqllg7nc
|
@@ -1,13 +0,0 @@
|
||||
class_name CutsceneWaitEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var wait:float = 0.0
|
||||
|
||||
func _init(time:float) -> void:
|
||||
super._init()
|
||||
self.wait = time
|
||||
|
||||
func update(delta:float) -> void:
|
||||
self.wait -= delta
|
||||
|
||||
func isDone() -> bool:
|
||||
return self.wait <= 0.0
|
@@ -1 +0,0 @@
|
||||
uid://cskwko5oqqq4m
|
@@ -1,43 +0,0 @@
|
||||
class_name CutsceneWhileEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var events:Array[CutsceneEvent] = []
|
||||
var callback:Callable
|
||||
var current:int = 0
|
||||
|
||||
func _init(callback:Callable, evt:Array[CutsceneEvent]) -> void:
|
||||
super._init();
|
||||
self.events = evt;
|
||||
self.callback = callback;
|
||||
|
||||
func shouldLoop() -> bool:
|
||||
return self.callback.call(self)
|
||||
|
||||
func update(delta:float) -> void:
|
||||
if self.current >= self.events.size():
|
||||
return;
|
||||
|
||||
var evt = self.events[self.current]
|
||||
if !evt.started:
|
||||
evt.start()
|
||||
evt.started = true
|
||||
|
||||
evt.update(delta)
|
||||
|
||||
if evt.isDone():
|
||||
evt.end()
|
||||
self.current += 1
|
||||
|
||||
if self.current < self.events.size():
|
||||
return
|
||||
|
||||
if !self.shouldLoop():
|
||||
return
|
||||
|
||||
self.current = 0
|
||||
for event in self.events:
|
||||
event.reset()
|
||||
|
||||
func isDone() -> bool:
|
||||
if self.shouldLoop():
|
||||
return false;
|
||||
return self.current >= self.events.size();
|
@@ -1 +0,0 @@
|
||||
uid://cx4uqll85m28i
|
@@ -1,13 +0,0 @@
|
||||
class_name OverworldChangeDirectionEvent extends "res://scripts/Cutscene/Event/Entity/OverworldEntityEvent.gd"
|
||||
|
||||
var direction:OverworldEntity.Direction;
|
||||
|
||||
func _init(
|
||||
entity:OverworldEntity,
|
||||
direction:OverworldEntity.Direction,
|
||||
) -> void:
|
||||
super._init(entity);
|
||||
self.direction = direction;
|
||||
|
||||
func start() -> void:
|
||||
entity.direction = direction;
|
@@ -1 +0,0 @@
|
||||
uid://cu82did0twmkm
|
@@ -1,10 +0,0 @@
|
||||
class_name OverworldEntityEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
const OverworldEntity = preload("res://scripts/Entities/OverworldEntity.gd");
|
||||
|
||||
var entity:OverworldEntity;
|
||||
|
||||
func _init(
|
||||
entity:OverworldEntity,
|
||||
) -> void:
|
||||
super._init();
|
||||
self.entity = entity;
|
@@ -1 +0,0 @@
|
||||
uid://dmmguqphbe34j
|
@@ -1,15 +0,0 @@
|
||||
class_name TextboxEvent extends "res://scripts/Cutscene/CutsceneEvent.gd"
|
||||
|
||||
var text:String;
|
||||
|
||||
func _init(
|
||||
text:String
|
||||
) -> void:
|
||||
super._init();
|
||||
self.text = text;
|
||||
|
||||
func start() -> void:
|
||||
getSystems().VN.getTextbox().setText(self.text);
|
||||
|
||||
func isDone() -> bool:
|
||||
return getSystems().VN.getTextbox().isClosed;
|
@@ -1 +0,0 @@
|
||||
uid://dypv7erj66kbs
|
@@ -1,29 +0,0 @@
|
||||
class_name OverworldConversationEvent extends "res://scripts/Cutscene/Cutscene.gd"
|
||||
const OverworldEntity = preload("res://scripts/Entities/OverworldEntity.gd");
|
||||
const TextboxEvent = preload("res://scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd");
|
||||
const PauseEvent = preload("res://scripts/Cutscene/Event/CutscenePauseEvent.gd");
|
||||
const OverworldChangeDirectionEvent = preload("res://scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd");
|
||||
|
||||
var speaker:OverworldEntity;
|
||||
var interacted:OverworldEntity;
|
||||
var texts:Array[String];
|
||||
|
||||
func _init(speaker:OverworldEntity, interacted:OverworldEntity, texts:Array[String]) -> void:
|
||||
self.speaker = speaker;
|
||||
self.interacted = interacted;
|
||||
self.texts = texts;
|
||||
|
||||
func setupCutscene() -> void:
|
||||
var dirSpeaker = speaker.getDirectionToFace(interacted.position);
|
||||
var dirInteracted = interacted.getDirectionToFace(speaker.position);
|
||||
|
||||
add([
|
||||
OverworldChangeDirectionEvent.new(speaker, dirSpeaker),
|
||||
OverworldChangeDirectionEvent.new(interacted, dirInteracted),
|
||||
PauseEvent.new(PauseSystem.PauseType.ENTITY_PAUSED, [ speaker, interacted ]),
|
||||
]);
|
||||
|
||||
for text in texts:
|
||||
add([ TextboxEvent.new(text) ]);
|
||||
|
||||
add([ PauseEvent.new(PauseSystem.PauseType.NOT_PAUSED) ]);
|
@@ -1 +0,0 @@
|
||||
uid://cywuvoi5v4fe3
|
@@ -1,10 +0,0 @@
|
||||
class_name TestCutscene extends "res://scripts/Cutscene/Scene/OverworldConversationEvent.gd"
|
||||
|
||||
func _init(speaker:OverworldEntity, interacted:OverworldEntity ) -> void:
|
||||
super(
|
||||
speaker,
|
||||
interacted,
|
||||
[
|
||||
"Hello"
|
||||
]
|
||||
);
|
@@ -1 +0,0 @@
|
||||
uid://btxgv85qst1jy
|
Reference in New Issue
Block a user