public virtual string ToWorkshop() { List <IWorkshopTree> elementParameters = new List <IWorkshopTree>(); for (int i = 0; i < ParameterData.Length; i++) { IWorkshopTree parameter = ParameterValues?.ElementAtOrDefault(i); // If the parameter is null, get the default variable. if (parameter == null) { parameter = ParameterData[i].GetDefault(); } elementParameters.Add(parameter); } List <string> parameters = AdditionalParameters().ToList(); parameters.AddRange(elementParameters.Select(p => p.ToWorkshop())); return(ElementData.ElementName + (parameters.Count == 0 ? "" : "(" + string.Join(", ", parameters) + ")") + (!ElementData.IsValue ? (";" + (Comment != null ? " // " + Comment : "")) : "")); }
protected void AddMissingParameters() { List <IWorkshopTree> parameters = new List <IWorkshopTree>(); for (int i = 0; i < ParameterData.Length || i < ParameterValues.Length; i++) { parameters.Add(ParameterValues?.ElementAtOrDefault(i) ?? ParameterData[i].GetDefault()); } ParameterValues = parameters.ToArray(); }
/// <summary>Makes sure no parameter values are null.</summary> private void AddMissingParameters() { List <IWorkshopTree> parameters = new List <IWorkshopTree>(); for (int i = 0; (Function.Parameters != null && i < Function.Parameters.Length) || (ParameterValues != null && i < ParameterValues.Length); i++) { parameters.Add(ParameterValues?.ElementAtOrDefault(i) ?? Function.Parameters[i].GetDefaultValue() ?? throw new Exception("Null argument")); } ParameterValues = parameters.ToArray(); }
public virtual string ToWorkshop(OutputLanguage language) { List <IWorkshopTree> elementParameters = new List <IWorkshopTree>(); for (int i = 0; i < ParameterData.Length; i++) { IWorkshopTree parameter = ParameterValues?.ElementAtOrDefault(i); // If the parameter is null, get the default variable. if (parameter == null) { parameter = ParameterData[i].GetDefault(); } elementParameters.Add(parameter); } List <string> parameters = AdditionalParameters().ToList(); parameters.AddRange(elementParameters.Select(p => p.ToWorkshop(language))); string result = ""; if (!ElementList.IsValue && Disabled) { result += I18n.I18n.Translate(language, "disabled") + " "; } result += I18n.I18n.Translate(language, Name); if (parameters.Count != 0) { result += "(" + string.Join(", ", parameters) + ")"; } if (!ElementList.IsValue) { result += ";"; } return(result); }