Started quest system implementation

This commit is contained in:
Segey Lapin
2019-07-24 02:50:55 +03:00
parent 43c20e590b
commit 3376b5b912
8 changed files with 267 additions and 7 deletions

View File

@@ -10,9 +10,21 @@ var frame_tf: Transform = Transform()
func master_control(pos):
$master.walkto(pos)
func update_quests():
for q in world.quests:
if q.is_active():
$info/task/task.text = q.get_cur_task_text()
break
for q in world.quests:
if q.is_active():
q.update()
func start_quest(quest: Quest):
$start_quest_notification.start_notification(quest.get_title(), quest.get_description())
func _ready():
$master.add_to_group("master")
controls.master_node = $master
world.master_node = $master
world.init_data()
world.nav = $nav
controls.camera = $Camera
@@ -26,6 +38,7 @@ func _ready():
var nav: Navigation2D = get_node("nav")
var p = nav.get_closest_point(get_node("line_spawn").global_transform.origin + Vector3(randf() * 20.0 - 10.0, 0.0, randf() * 20 - 10.0))
char_sc.translation = p
char_sc.set_meta("data", cd)
# world.team[newkey] = cd
# world.line.erase(k)
else:
@@ -35,9 +48,21 @@ func _ready():
var nav: Navigation2D = get_node("nav")
var p = nav.get_closest_point(get_node("line_spawn").global_transform.origin + Vector3(randf() * 20.0 - 10.0, 0.0, randf() * 20 - 10.0))
char_sc.translation = p
char_sc.set_meta("data", cd)
# world.team[newkey] = cd
# cd.scene.set_meta("data", cd)
var tut_quest = Quest.new("Tutorial", "This quest shortly introduces to a game")
tut_quest.connect("started", self, "start_quest")
world.quests.push_back(tut_quest)
tut_quest.start()
update_quests()
var quest_timer : = Timer.new()
quest_timer.wait_time = 2.0
add_child(quest_timer)
quest_timer.connect("timeout", self, "update_quests")
quest_timer.start()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):