improved some dialogue code
This commit is contained in:
@@ -8,7 +8,7 @@ public partial class dialog_bubble : CanvasLayer
|
||||
public int dlgPointer = 0;
|
||||
public RichTextLabel richText;
|
||||
public Timer typewriterTimer;
|
||||
public string name;
|
||||
public string title;
|
||||
public Area2D triggerArea;
|
||||
/*TODO:
|
||||
- Dont repeat the same randomized dialogue after you get asked do you need something "else"
|
||||
@@ -22,13 +22,14 @@ public partial class dialog_bubble : CanvasLayer
|
||||
richText = GetNode<RichTextLabel>("box/rich_text_label");
|
||||
typewriterTimer = GetNode<Timer>("typewriter_timer");
|
||||
}
|
||||
public void GetDialog(string file, string title, Area2D actor, string playerName, bool introducedVillager)
|
||||
public void GetDialog(string file, Area2D actor)
|
||||
{
|
||||
triggerArea = actor;
|
||||
name = title;
|
||||
title = actor.Get("title").AsString();
|
||||
bool introducedVillager = actor.Get("introducedVillager").AsBool();
|
||||
|
||||
parsedDlg = Json.ParseString(FileAccess.Open(file, FileAccess.ModeFlags.Read).GetAsText()
|
||||
.Replace("{player}", "[color=cyan]" + playerName + "[/color]").Replace("{title}", "[color=purple]" + title + "[/color]"));
|
||||
.Replace("{player}", "[color=cyan]" + player_variables.PlayerName + "[/color]").Replace("{title}", "[color=purple]" + title + "[/color]"));
|
||||
|
||||
if (parsedDlg.AsGodotDictionary()["dialogType"].AsString() != "villager" || introducedVillager)
|
||||
GetNode<Label>("box/name_label").Text = title;
|
||||
@@ -143,7 +144,7 @@ public partial class dialog_bubble : CanvasLayer
|
||||
switch (eventID)
|
||||
{
|
||||
case 0:
|
||||
GetNode<Label>("box/name_label").Text = name;
|
||||
GetNode<Label>("box/name_label").Text = title;
|
||||
triggerArea.Set("introducedVillager", true);
|
||||
GatherDialog("begindialog");
|
||||
UpdateDialog();
|
||||
|
@@ -27,8 +27,7 @@ public partial class player : CharacterBody2D
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
if (Input.IsActionJustPressed("ui_accept") && dialogRayCast.IsColliding() && allowMovement)
|
||||
GetNode<dialog_bubble>("dialog_bubble").GetDialog(dialogRayCast.GetCollider().Get("file").AsString(), dialogRayCast.GetCollider().Get("title").AsString(),
|
||||
(Area2D)dialogRayCast.GetCollider(), player_variables.PlayerName, dialogRayCast.GetCollider().Get("introducedVillager").AsBool());
|
||||
GetNode<dialog_bubble>("dialog_bubble").GetDialog(dialogRayCast.GetCollider().Get("file").AsString(), (Area2D)dialogRayCast.GetCollider());
|
||||
|
||||
//animation system (with controller support wich cant get normalized vector)
|
||||
if (allowMovement == false)
|
||||
|
Reference in New Issue
Block a user