/// <summary> /// Builds a condition /// </summary> /// <param name="conditionTemplate">Condition Template</param> /// <param name="data">Export dialog data</param> /// <param name="conditionObj">Condition object</param> /// <param name="conditionNode">Condition node</param> /// <param name="condition">Export dialog data for the condition</param> /// <param name="npc">Npc to which the dialog belongs</param> /// <param name="conditionIndex">Index of the condition</param> /// <returns>Conditions as string</returns> private string BuildSingleCondition(string conditionTemplate, ExportDialogData data, Condition conditionObj, ConditionNode conditionNode, ExportDialogDataChild condition, KortistoNpc npc, int conditionIndex) { string conditionContent = ReplaceBaseStepPlaceholders(conditionTemplate, data, condition != null ? condition.Child : null); conditionContent = ExportUtil.BuildPlaceholderRegex(Placeholder_Condition_Id).Replace(conditionContent, conditionObj.Id.ToString()); conditionContent = ExportUtil.BuildPlaceholderRegex(Placeholder_Condition_Index).Replace(conditionContent, conditionIndex.ToString()); conditionContent = ExportUtil.RenderPlaceholderIfTrue(conditionContent, Placeholder_Condition_IsFirst_Start, Placeholder_Condition_IsFirst_End, conditionIndex == 0); conditionContent = ExportUtil.RenderPlaceholderIfTrue(conditionContent, Placeholder_Condition_IsNotFirst_Start, Placeholder_Condition_IsNotFirst_End, conditionIndex != 0); conditionContent = ExportUtil.BuildPlaceholderRegex(Placeholder_Condition).Replace(conditionContent, m => { return(BuildCondition(conditionObj, npc)); }); return(conditionContent); }