public static string GetFormattedString(this VariableBuildingSubType var, IEnumerable <int> platforms, ushort buildingId, TextParameterVariableWrapper varWrapper) { if (buildingId == 0) { return(null); } switch (var) { case VariableBuildingSubType.OwnName: return(varWrapper.TryFormat(WTSCacheSingleton.instance.GetBuilding(buildingId).Name)); case VariableBuildingSubType.NextStopLine: return(varWrapper.TryFormat(WTSCacheSingleton.instance.GetBuilding(WTSStopUtils.GetTargetStopInfo(platforms, buildingId).FirstOrDefault().NextStopBuildingId).Name)); case VariableBuildingSubType.PrevStopLine: return(varWrapper.TryFormat(WTSCacheSingleton.instance.GetBuilding(WTSStopUtils.GetTargetStopInfo(platforms, buildingId).FirstOrDefault().PrevStopBuildingId).Name)); case VariableBuildingSubType.LastStopLine: return(varWrapper.TryFormat(WTSCacheSingleton.instance.GetBuilding(WTSStopUtils.GetTargetStopInfo(platforms, buildingId).FirstOrDefault().DestinationBuildingId).Name)); case VariableBuildingSubType.PlatformNumber: return(varWrapper.TryFormat(platforms.FirstOrDefault() + 1)); default: return(null); } }
public static bool ReadData(this VariableBuildingSubType var, string[] relativeParams, ref Enum subtype, ref string numberFormat, ref string stringFormat, ref string prefix, ref string suffix) { var cmdLevel = var.GetCommandLevel(); if (cmdLevel is null) { return(false); } cmdLevel.ParseFormatting(relativeParams, ref numberFormat, ref stringFormat, ref prefix, ref suffix); subtype = var; return(true); }
public static CommandLevel GetCommandLevel(this VariableBuildingSubType var) { switch (var) { case VariableBuildingSubType.OwnName: case VariableBuildingSubType.NextStopLine: case VariableBuildingSubType.PrevStopLine: case VariableBuildingSubType.LastStopLine: case VariableBuildingSubType.PlatformNumber: return(CommandLevel.m_stringFormat); default: return(null); } }