Skip to content

Commit

Permalink
Node multiselect, fullscreen node text editing, usability
Browse files Browse the repository at this point in the history
  • Loading branch information
Steffen Nörtershäuser committed Nov 12, 2022
1 parent c80d001 commit 2b1cde1
Show file tree
Hide file tree
Showing 1,143 changed files with 194,293 additions and 235,183 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -312,4 +312,6 @@ TaskImages/**
SkillImages/**
dbdata/**

xunit.xml
xunit.xml

UITests/.cache
15 changes: 15 additions & 0 deletions DefaultExportTemplates/Language/LanguageFile.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
{{~ if !language.dialog_language_keys.empty? ~}}
; {{ language.object.name }}
{{~ for cur_key in language.dialog_language_keys ~}}
{{ cur_key.key }} = {{ cur_key.text }}
{{~ end ~}}

{{- for cur_obj in language.dialog_referenced_objects ~}}

; {{ cur_obj.object.name }}
{{~ for cur_key in cur_obj.language_keys ~}}
{{ cur_key.key }} = {{ cur_key.text }}
{{~ end ~}}
{{~ end ~}}
{{~ else ~}}
; {{ language.object.name }}
{{~ for cur_key in language.language_keys ~}}
{{ cur_key.key }} = {{ cur_key.text }}
{{~ end ~}}
{{~ end ~}}{{~ if !language.referenced_language_keys.empty? }}
; Referenced Objects
{{~ for cur_key in language.referenced_language_keys ~}}
Expand Down
3 changes: 2 additions & 1 deletion DefaultExportTemplates/Tale/TaleActionPersistDialogState.lua
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
BaseDialog_PersistDialogState(this, "{{ if action_node.child_node && action_node.child_node.node_step_function_name_no_flag_set }}{{ action_node.child_node.node_step_function_name_no_flag_set }}{{ end }}")
BaseDialog_PersistDialogState(this, "{{ if action_node.child_node && action_node.child_node.node_step_function_name }}{{ action_node.child_node.node_step_function_name }}{{ end }}")
{{~ if !action.end_dialog && action_node.child_node && action_node.child_node.node_step_function_name != "" ~}}{{ action_node.child_node.node_step_function_name }}(this){{~ end ~}}
14 changes: 7 additions & 7 deletions GoNorth.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@

<ItemGroup>
<PackageReference Include="BuildBundlerMinifier" Version="3.2.449" />
<PackageReference Include="CsvHelper" Version="27.2.0" />
<PackageReference Include="MongoDB.Bson" Version="2.13.2" />
<PackageReference Include="MongoDB.Driver" Version="2.13.2" />
<PackageReference Include="MongoDB.Driver.Core" Version="2.13.2" />
<PackageReference Include="Scriban" Version="5.0.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="CsvHelper" Version="30.0.0" />
<PackageReference Include="MongoDB.Bson" Version="2.18.0" />
<PackageReference Include="MongoDB.Driver" Version="2.18.0" />
<PackageReference Include="MongoDB.Driver.Core" Version="2.18.0" />
<PackageReference Include="Scriban" Version="5.5.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion GoNorthVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ public class GoNorthVersion
/// <summary>
/// Current GoNorth Version
/// </summary>
public static readonly Version CurrentVersion = new Version(1, 9, 0, 5);
public static readonly Version CurrentVersion = new Version(1, 9, 1, 0);
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"PlaceholderDesc_EndDialog": "true wenn der Dialog nach der Aktion beendet werden soll, false wenn mit dem nächsten Schritt fortgesetzt werden muss."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"PlaceholderDesc_EndDialog": "true if the dialog must be stopped after the action, false if the next step must be executed."
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"PlaceholderDesc_Object": "Objekt zu dem die Sprachdatei gehört",
"PlaceholderDesc_LanguageKeys": "Liste von Sprachschlüsseln die exportiert werden. Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_key gefunden werden.",
"PlaceholderDesc_ReferencedLanguageKeys": "Liste von Sprachschlüsseln die vom aktuellen Objekt referenziert werden (wie z.B. von Quests die innerhalb des Dialogs genutzt werden). Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_key gefunden werden."
"PlaceholderDesc_ReferencedLanguageKeys": "Liste von Sprachschlüsseln die vom aktuellen Objekt referenziert werden (wie z.B. von Quests die innerhalb des Dialogs genutzt werden). Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_key gefunden werden.",
"PlaceholderDesc_DialogLanguageKeys": "Liste von Sprachschlüsseln die vom aktuellen Objekt nur im Dialog genutzt werden. Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_key gefunden werden. Diese Eigenschaft ist nur für Npcs gefüllt.",
"PlaceholderDesc_DialogReferencedObjects": "Liste von Objekten die im Dialog referenziert werden. Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_obj gefunden werden. Diese Eigenschaft ist nur für Npcs gefüllt."
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"PlaceholderDesc_Object": "Object to which the language file belongs.",
"PlaceholderDesc_LanguageKeys": "List of language keys that are being exported. Can be iterated using <i>for</i>. The property of the entries can be found under cur_key.",
"PlaceholderDesc_ReferencedLanguageKeys": "List of language keys that are being referenced by the current object (i.e. if a quest is used in the dialog). Can be iterated using <i>for</i>. The property of the entries can be found under cur_key."
"PlaceholderDesc_ReferencedLanguageKeys": "List of language keys that are being referenced by the current object (i.e. if a quest is used in the dialog). Can be iterated using <i>for</i>. The property of the entries can be found under cur_key.",
"PlaceholderDesc_DialogLanguageKeys": "List of language keys that are being exported based on the dialog. Can be iterated using <i>for</i>. The property of the entries can be found under cur_key. This property is only filled for npcs.",
"PlaceholderDesc_DialogReferencedObjects": "List of objects that are being exported based on the dialog. Can be iterated using <i>for</i>. The property of the entries can be found under cur_obj. This property is only filled for npcs."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"PlaceholderDesc_Object": "Referenziertes Objekt zu dem die Sprachschlüssel gehören",
"PlaceholderDesc_LanguageKeys": "Liste von Sprachschlüsseln die zum referenzierten Objekt gehören. Kann mit <i>for</i> durchlaufen werden. Die Eigenschaften der einzelnen Einträge kann unter cur_key gefunden werden."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"PlaceholderDesc_Object": "Referenced object to which the language keys belong",
"PlaceholderDesc_LanguageKeys": "List of language keys that are being exported. Can be iterated using <i>for</i>. The property of the entries can be found under cur_key."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace GoNorth.Services.Export.Dialog.ActionRendering.ConfigObject
{
/// <summary>
/// Persist dialog state action data
/// </summary>
public class PersistDialogStateActionData
{
/// <summary>
/// True if the dialog must be ended else false
/// </summary>
public bool? EndDialog { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@


using GoNorth.Services.Export.Placeholder.ScribanRenderingEngine.Util;

namespace GoNorth.Services.Export.Dialog.ActionRendering.ScribanRenderingEngine.RenderingObjects
{
/// <summary>
/// Persist dialog state action data
/// </summary>
public class ScribanPersistDialogStateData
{
/// <summary>
/// True if the dialog must be ended else false
/// </summary>
[ScribanExportValueLabel]
public bool EndDialog { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,41 @@
using GoNorth.Data.FlexFieldDatabase;
using GoNorth.Data.Project;
using GoNorth.Services.Export.Data;
using GoNorth.Services.Export.Dialog.ActionRendering.ConfigObject;
using GoNorth.Services.Export.Dialog.ActionRendering.ScribanRenderingEngine.RenderingObjects;
using GoNorth.Services.Export.Dialog.ActionRendering.ScribanRenderingEngine.Util;
using GoNorth.Services.Export.Dialog.StepRenderers.ActionRenderer;
using GoNorth.Services.Export.Placeholder;
using GoNorth.Services.Export.Placeholder.ScribanRenderingEngine.Util;
using Microsoft.Extensions.Localization;

namespace GoNorth.Services.Export.Dialog.ActionRendering.ScribanRenderingEngine
{
/// <summary>
/// Class for rendering a persist dialog state action renderer
/// </summary>
public class ScribanPersistDialogStateActionRenderer : BaseActionRenderer<ScribanPersistDialogStateActionRenderer.PersistDialogStateActionData>
public class ScribanPersistDialogStateActionRenderer : BaseActionRenderer<PersistDialogStateActionData>
{
/// <summary>
/// Persist dialog state action data
/// </summary>
public class PersistDialogStateActionData
{
}

/// <summary>
/// Cached database access
/// </summary>
private readonly IExportCachedDbAccess _cachedDbAccess;

/// <summary>
/// String Localizer Factory
/// </summary>
private readonly IStringLocalizerFactory _localizerFactory;

/// <summary>
/// Constructor
/// </summary>
/// <param name="cachedDbAccess">Cached db access</param>
public ScribanPersistDialogStateActionRenderer(IExportCachedDbAccess cachedDbAccess)
/// <param name="localizerFactory">Localizer Factory</param>
public ScribanPersistDialogStateActionRenderer(IExportCachedDbAccess cachedDbAccess, IStringLocalizerFactory localizerFactory)
{
_cachedDbAccess = cachedDbAccess;
_localizerFactory = localizerFactory;
}

/// <summary>
Expand All @@ -49,9 +54,12 @@ public ScribanPersistDialogStateActionRenderer(IExportCachedDbAccess cachedDbAcc
/// <param name="exportSettings">Export Settings</param>
/// <param name="stepRenderer">Action Step renderer</param>
/// <returns>Action string</returns>
public override async Task<string> BuildActionFromParsedData(ExportTemplate template, ScribanPersistDialogStateActionRenderer.PersistDialogStateActionData parsedData, ExportDialogData data, ExportDialogData nextStep, GoNorthProject project, ExportPlaceholderErrorCollection errorCollection,
public override async Task<string> BuildActionFromParsedData(ExportTemplate template, PersistDialogStateActionData parsedData, ExportDialogData data, ExportDialogData nextStep, GoNorthProject project, ExportPlaceholderErrorCollection errorCollection,
FlexFieldObject flexFieldObject, ExportSettings exportSettings, IActionStepRenderer stepRenderer)
{
ScribanPersistDialogStateData persistDialogData = new ScribanPersistDialogStateData();
persistDialogData.EndDialog = parsedData != null && parsedData.EndDialog.HasValue ? parsedData.EndDialog.Value : false;

return await ScribanActionRenderingUtil.FillPlaceholders(_cachedDbAccess, errorCollection, template.Code, parsedData, flexFieldObject, data, nextStep, null, stepRenderer);
}

Expand All @@ -64,7 +72,7 @@ public override async Task<string> BuildActionFromParsedData(ExportTemplate temp
/// <param name="child">Child node</param>
/// <param name="parent">Parent</param>
/// <returns>Preview text</returns>
public override Task<string> BuildPreviewTextFromParsedData(ScribanPersistDialogStateActionRenderer.PersistDialogStateActionData parsedData, FlexFieldObject flexFieldObject, ExportPlaceholderErrorCollection errorCollection, ExportDialogData child, ExportDialogData parent)
public override Task<string> BuildPreviewTextFromParsedData(PersistDialogStateActionData parsedData, FlexFieldObject flexFieldObject, ExportPlaceholderErrorCollection errorCollection, ExportDialogData child, ExportDialogData parent)
{
return Task.FromResult("Persist Dialog State");
}
Expand All @@ -76,7 +84,7 @@ public override Task<string> BuildPreviewTextFromParsedData(ScribanPersistDialog
/// <returns>Export Template Placeholder</returns>
public override List<ExportTemplatePlaceholder> GetExportTemplatePlaceholdersForType(TemplateType templateType)
{
return new List<ExportTemplatePlaceholder>();
return ScribanPlaceholderGenerator.GetPlaceholdersForObject<ScribanPersistDialogStateData>(_localizerFactory, ExportConstants.ScribanActionObjectKey);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public ExportDialogActionRenderer(ExportPlaceholderErrorCollection errorCollecti
new ScribanSkillValueChangeRenderer(defaultTemplateProvider, cachedDbAccess, scribanLanguageKeyGenerator, localizerFactory, false)));
_actionRenderes.Add(ActionType.PersistDialogState, new ActionRendererDispatcher(TemplateType.TaleActionPersistDialogState, defaultTemplateProvider,
new PersistDialogStateActionRenderer(),
new ScribanPersistDialogStateActionRenderer(cachedDbAccess)));
new ScribanPersistDialogStateActionRenderer(cachedDbAccess, localizerFactory)));
_actionRenderes.Add(ActionType.OpenShop, new ActionRendererDispatcher(TemplateType.TaleActionOpenShop, defaultTemplateProvider,
new OpenShopActionRenderer(),
new ScribanOpenShopActionRenderer(cachedDbAccess)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,17 @@ public class ScribanExportLanguageFile
/// </summary>
[ScribanExportValueLabel]
public List<ScribanExportLanguageKey> ReferencedLanguageKeys { get; set; }

/// <summary>
/// Dialog language keys
/// </summary>
[ScribanExportValueLabel]
public List<ScribanExportLanguageKey> DialogLanguageKeys { get; set; }

/// <summary>
/// Language Keys of referenced objects
/// </summary>
[ScribanExportValueLabel]
public List<ScribanExportLanguageObject> DialogReferencedObjects { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using System.Collections.Generic;
using GoNorth.Services.Export.Placeholder.ScribanRenderingEngine.Util;

namespace GoNorth.Services.Export.Placeholder.ScribanRenderingEngine.RenderingObjects
{
/// <summary>
/// Class to export language key object data to Scriban
/// </summary>
public class ScribanExportLanguageObject
{
/// <summary>
/// Flex field object to which the language file belongs
/// </summary>
[ScribanExportValueObjectLabel]
public ScribanFlexFieldObject Object { get; set; }

/// <summary>
/// Language keys
/// </summary>
[ScribanExportValueLabel]
public List<ScribanExportLanguageKey> LanguageKeys { get; set; }

/// <summary>
/// Constructor
/// </summary>
public ScribanExportLanguageObject()
{
LanguageKeys = new List<ScribanExportLanguageKey>();
}
}
}
Loading

0 comments on commit 2b1cde1

Please sign in to comment.