Allow events to grab systems and nodes.
This commit is contained in:
@@ -21,6 +21,7 @@ theme = ExtResource("1_wx4lp")
|
|||||||
[node name="Label" type="RichTextLabel" parent="MarginContainer"]
|
[node name="Label" type="RichTextLabel" parent="MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme = ExtResource("1_wx4lp")
|
theme = ExtResource("1_wx4lp")
|
||||||
|
bbcode_enabled = true
|
||||||
text = "test
|
text = "test
|
||||||
test
|
test
|
||||||
test"
|
test"
|
||||||
|
@@ -2,6 +2,7 @@ class_name Cutscene
|
|||||||
const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd");
|
const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd");
|
||||||
|
|
||||||
var queue:Array[CutsceneEvent] = [];
|
var queue:Array[CutsceneEvent] = [];
|
||||||
|
var cutsceneSystem = null;
|
||||||
|
|
||||||
func setupCutscene() -> void:
|
func setupCutscene() -> void:
|
||||||
print_debug("Cutscene setup has not been overriden");
|
print_debug("Cutscene setup has not been overriden");
|
||||||
@@ -25,7 +26,9 @@ func update(delta:float) -> void:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
func add(items:Array[CutsceneEvent]) -> void:
|
func add(items:Array[CutsceneEvent]) -> void:
|
||||||
queue.append_array(items)
|
for item in items:
|
||||||
|
item.cutscene = self
|
||||||
|
queue.append(item)
|
||||||
|
|
||||||
func clear() -> void:
|
func clear() -> void:
|
||||||
if queue.size() == 0:
|
if queue.size() == 0:
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
class_name CutsceneEvent
|
class_name CutsceneEvent
|
||||||
|
const Systems = preload("res://scripts/System/Systems.gd")
|
||||||
|
|
||||||
var started:bool = false;
|
var started:bool = false;
|
||||||
|
var cutscene = null;
|
||||||
|
|
||||||
func _init() -> void:
|
func _init() -> void:
|
||||||
pass
|
pass
|
||||||
@@ -19,3 +21,12 @@ func end() -> void:
|
|||||||
|
|
||||||
func reset() -> void:
|
func reset() -> void:
|
||||||
started = false
|
started = false
|
||||||
|
|
||||||
|
func getCutscene():
|
||||||
|
return cutscene
|
||||||
|
|
||||||
|
func getCutsceneSystem():
|
||||||
|
return cutscene.cutsceneSystem;
|
||||||
|
|
||||||
|
func getSystems() -> Systems:
|
||||||
|
return getCutsceneSystem().get_node("..") as Systems;
|
||||||
|
@@ -9,7 +9,7 @@ func _init(
|
|||||||
self.text = text;
|
self.text = text;
|
||||||
|
|
||||||
func start() -> void:
|
func start() -> void:
|
||||||
print("He can say ", text);
|
getSystems().VN.getTextbox().setText(self.text);
|
||||||
|
|
||||||
func isDone() -> bool:
|
func isDone() -> bool:
|
||||||
return false
|
return false
|
||||||
|
@@ -4,8 +4,10 @@ const CutsceneWaitEvent = preload("res://scripts/Cutscene/Event/CutsceneWaitEven
|
|||||||
const CutsceneConcurrentEvent = preload("res://scripts/Cutscene/Event/CutsceneConcurrentEvent.gd");
|
const CutsceneConcurrentEvent = preload("res://scripts/Cutscene/Event/CutsceneConcurrentEvent.gd");
|
||||||
const CutsceneIfEvent = preload("res://scripts/Cutscene/Event/CutsceneIfEvent.gd");
|
const CutsceneIfEvent = preload("res://scripts/Cutscene/Event/CutsceneIfEvent.gd");
|
||||||
const CutsceneWhileEvent = preload("res://scripts/Cutscene/Event/CutsceneWhileEvent.gd");
|
const CutsceneWhileEvent = preload("res://scripts/Cutscene/Event/CutsceneWhileEvent.gd");
|
||||||
|
const TextboxEvent = preload("res://scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd");
|
||||||
|
|
||||||
func setupCutscene() -> void:
|
func setupCutscene() -> void:
|
||||||
add([
|
add([
|
||||||
|
TextboxEvent.new("Cumbria")
|
||||||
]);
|
]);
|
||||||
pass
|
pass
|
||||||
|
@@ -2,15 +2,7 @@ class_name TestNPCController extends "res://scripts/Entities/OverworldEntity.gd"
|
|||||||
const TestCutscene = preload("res://scripts/Cutscene/TestCutscene.gd")
|
const TestCutscene = preload("res://scripts/Cutscene/TestCutscene.gd")
|
||||||
|
|
||||||
func interact(interactor) -> void:
|
func interact(interactor) -> void:
|
||||||
var systems = getSystems();
|
getSystems().CUTSCENE.setCurrentCutscene(TestCutscene.new());
|
||||||
# systems.VN.getTextbox().setText("1-2-3\n4-5-6\n\n7-8-9\n10-11-12\n13-14-15\n16-17-18\n19-20-21\n22-23-24\n25-26-27\n28-29-30\n31-32-33\n34-35-36\n37-38-39\n40-41-42\n43-44-45\n46-47-48\n49-50-51\n52-53-54\n55-56-57\n58-59-60\n61-62-63\n64-65-66\n67-68-69\n70-71-72\n73-74-75\n76-77-78\n79-80-81\n82-83-84\n85-86-87\n88-89-90\n91-92-93\n94-95-96\n97-98-99\n100-101-102\n103-104-105\n106-107-108\n109-110-111\n112-113-114\n115-116-117\n118-119-120\n121-122-123\n124-125-126\n127-128-129\n130-131-132\n133-134-135\n136-137-138\n139-140-141\n142-143-144\n145-146-147\n148-149-150\n151-152-153\n154-155-156\n157-158-159\n160-161-162\n163-164-165\n166-167-168\n169-170-171\n172-173-174\n175-176-177\n178-179-180\n181-182-183\n184-185-186\n187-188-189\n190-191-192\n193-194-195\n196-197-198\n199-200-201\n202-203-204\n205-206-207\n208-209-210\n211-212-213\n214-215-216\n217-218-219\n220-221-222\n223-224-225\n226-227-228\n229-230-231\n232-233-234\n235-236-237\n238-239-240\n241-242-243\n244-245-246\n247-248-249\n250-251-252\n253-254-255\n256-257-258");
|
|
||||||
systems.VN.getTextbox().setText("Hello World\nHow are you?");
|
|
||||||
# systems.VN.getTextbox().setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ut convallis nisl. Nulla eleifend erat non odio convallis tempus. Quisque sagittis egestas lacus, eget varius diam ullamcorper vel. Donec lacinia luctus turpis ac sodales. Praesent in quam maximus justo pretium iaculis. Morbi tristique nisi est, imperdiet volutpat velit semper congue. Nam eleifend ornare lorem eu ornare. Donec ac venenatis mauris. Etiam a purus a velit cursus pellentesque sed at neque. Proin viverra turpis ut lorem congue vestibulum. Proin a sapien id odio tempus tincidunt sed at lacus. Curabitur nisi nulla, porta ac magna sit amet, ornare elementum nisi. Proin convallis eget nisi ac vehicula. Mauris at consequat dolor, 1 2 3 4 5 pellentesque est. Nullam dapibus aliquet nisl eu porta. Quisque sagittis sem nec nibh tristique fermentum.
|
|
||||||
# Mauris eu nunc condimentum est rhoncus suscipit elementum sit amet felis. Morbi ut hendrerit ipsum. Cras vel sollicitudin odio. Maecenas eget finibus orci. Etiam tempus nulla vitae tincidunt aliquet. Nulla consectetur, massa sed rutrum iaculis, leo nulla bibendum erat, commodo rutrum magna lorem sit amet turpis. Morbi vel sollicitudin arcu, sit amet tempus leo. Nunc molestie sed dui eu fringilla. Mauris egestas lectus ac nisi condimentum, sollicitudin rhoncus arcu pellentesque. Vestibulum quis suscipit odio.
|
|
||||||
# Aenean ac metus nisi. Quisque et posuere ex. Vivamus et laoreet nulla. Nam quis faucibus diam. Aenean blandit dui sed est vehicula, sit amet dignissim mauris ultricies. Vivamus semper nisi vel erat dignissim interdum eu vitae enim. Nunc dignissim ligula imperdiet finibus dapibus. Pellentesque non erat sollicitudin libero convallis convallis. Nulla commodo, dolor aliquet laoreet lacinia, turpis lectus aliquet sem, et porttitor ipsum elit quis quam. Aliquam erat volutpat. Aliquam sit amet quam vel enim scelerisque blandit. Sed congue aliquam sodales.
|
|
||||||
# Pellentesque nec mauris id felis dignissim ullamcorper. Fusce quis ex accumsan, dictum risus vel, blandit ligula. Vestibulum at dolor ut neque faucibus rhoncus ac rhoncus risus. Nulla id semper dolor. In vel aliquam lectus. Morbi et dignissim augue. Nunc commodo elit at ligula ullamcorper iaculis. Morbi accumsan accumsan lectus, a iaculis magna. Nam auctor ac eros at venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis et tincidunt lacus. Aliquam vitae quam et ipsum luctus tincidunt tincidunt eget sem. Morbi vestibulum ante mauris. Vestibulum ac faucibus quam. Vestibulum interdum odio nulla, nec pellentesque mi imperdiet ac.
|
|
||||||
# Morbi dictum mattis porttitor. Integer eu nulla maximus, vehicula urna at, iaculis odio. Nam feugiat, dui vitae imperdiet mattis, felis dui elementum risus, sed dapibus sem turpis quis mi. Sed lacinia vehicula risus, sed scelerisque enim euismod sed. Sed aliquet efficitur sapien vitae cursus. Phasellus non elit metus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque vitae tellus erat. Curabitur vel elit sagittis, dignissim orci at, vulputate lacus. Nam ut magna velit. Fusce sit amet tristique lacus.");
|
|
||||||
# systems.QUEST.QUEST_EXAMPLE.start();
|
|
||||||
|
|
||||||
func updateMovement(delta) -> void:
|
func updateMovement(delta) -> void:
|
||||||
pass
|
pass
|
||||||
|
@@ -16,4 +16,5 @@ func setCurrentCutscene(cutscene:Cutscene) -> void:
|
|||||||
currentCutscene.clear();
|
currentCutscene.clear();
|
||||||
|
|
||||||
currentCutscene = cutscene;
|
currentCutscene = cutscene;
|
||||||
|
cutscene.cutsceneSystem = self;
|
||||||
currentCutscene.setupCutscene();
|
currentCutscene.setupCutscene();
|
Reference in New Issue
Block a user