Advertisement
Eduardo_AC

Samp TextDraw Reader (DLL)

Aug 17th, 2022 (edited)
635
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 24.45 KB | Source Code | 0 0
  1. public class TextDrawReader
  2. {
  3.     private readonly string[,] _textdraw =
  4.         {
  5.             {"TextDrawFont", "PlayerTextDrawFont"},
  6.             {"TextDrawSetOutline", "PlayerTextDrawSetOutline"},
  7.             { "TextDrawSetShadow", "PlayerTextDrawSetShadow"},
  8.             { "TextDrawLetterSize", "PlayerTextDrawLetterSize"},
  9.             { "TextDrawColor", "PlayerTextDrawColor"},
  10.             { "TextDrawBackgroundColor", "PlayerTextDrawBackgroundColor"},
  11.             { "TextDrawBoxColor", "PlayerTextDrawBoxColor"},
  12.             { "TextDrawUseBox", "PlayerTextDrawUseBox"},
  13.             { "TextDrawTextSize", "PlayerTextDrawTextSize"},
  14.             { "TextDrawSetSelectable", "PlayerTextDrawSetSelectable"},
  15.             { "TextDrawAlignment", "PlayerTextDrawAlignment"},
  16.             { "TextDrawSetProportional", "PlayerTextDrawSetProportional"},
  17.             { "TextDrawSetPreviewModel", "PlayerTextDrawSetPreviewModel"},
  18.             { "TextDrawSetPreviewVehCol", "PlayerTextDrawSetPreviewVehCol"},
  19.             { "TextDrawSetPreviewRot", "PlayerTextDrawSetPreviewRot"}
  20.         };
  21.  
  22.     public TextDraw[] TextDraw(string file)
  23.     {
  24.         List<TextDraw> tdArray = new List<TextDraw>();
  25.  
  26.         string[] flines = File.ReadAllLines(file);
  27.         int textdrawType = -1;
  28.         TextDraw td = new TextDraw
  29.         {
  30.             LetterSize = new TextDraw.LetterSizeData(),
  31.             TextSize = new TextDraw.TextSizeData(),
  32.             Position = new TextDraw.PositionData(),
  33.             Preview = new TextDraw.PreviewModelData()
  34.         };
  35.  
  36.         for (int i = 0; i < flines.Length; i++)
  37.         {
  38.             string cline = flines[i].Trim();
  39.             if (string.IsNullOrEmpty(cline) || i == (flines.Length - 1))
  40.             {
  41.                 if (textdrawType > -1)
  42.                 {
  43.                     tdArray.Add(td);
  44.                     td = new TextDraw
  45.                     {
  46.                         LetterSize = new TextDraw.LetterSizeData(),
  47.                         TextSize = new TextDraw.TextSizeData(),
  48.                         Position = new TextDraw.PositionData(),
  49.                         Preview = new TextDraw.PreviewModelData()
  50.                     };
  51.                 }
  52.  
  53.                 textdrawType = -1;
  54.                 continue;
  55.             }
  56.  
  57.             if (cline.Contains("TextDrawCreate"))
  58.             {
  59.                 if (textdrawType > -1)
  60.                 {
  61.                     tdArray.Add(td);
  62.                     td = new TextDraw
  63.                     {
  64.                         LetterSize = new TextDraw.LetterSizeData(),
  65.                         TextSize = new TextDraw.TextSizeData(),
  66.                         Position = new TextDraw.PositionData(),
  67.                         Preview = new TextDraw.PreviewModelData()
  68.                     };
  69.                 }
  70.  
  71.                 int idx1 = cline.IndexOf('(');
  72.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  73.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  74.                 Decimal.TryParse(valor.Replace('.', ','), out decimal valorDec);
  75.                 td.Position.X = valorDec;
  76.  
  77.                 idx1 = cline.IndexOf(',', idx2);
  78.                 idx2 = cline.IndexOf(',', idx1 + 1);
  79.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  80.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  81.                 td.Position.Y = valorDec;
  82.  
  83.                 idx1 = cline.IndexOf('"', idx2);
  84.                 idx2 = cline.IndexOf('"', idx1 + 1);
  85.  
  86.                 if (idx1 > -1 && idx2 > idx1)
  87.                     valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  88.                 else
  89.                     valor = "_";
  90.                 td.Text = valor;
  91.  
  92.                 idx1 = cline.IndexOf('=') - 1;
  93.                 if (idx1 > -1)
  94.                 {
  95.                     int idxChar1 = -1;
  96.                     int idxChar2 = -1;
  97.                     for (int j = idx1; j > -1; j--)
  98.                     {
  99.                         if (idxChar1 == -1 && !char.IsWhiteSpace(cline[j]))
  100.                             idxChar1 = j + 1;
  101.  
  102.                         if (idxChar2 == -1 && idxChar1 > -1 && (cline[j] == ' ' || j == 0))
  103.                             idxChar2 = j;
  104.  
  105.                         if (idxChar1 != -1 && idxChar2 != -1)
  106.                         {
  107.                             string varName = cline.Substring(idxChar2, idxChar1 - idxChar2).Trim();
  108.                             td.VariableName = varName;
  109.                             break;
  110.                         }
  111.                     }
  112.                 }
  113.  
  114.                 td.IsPublic = true;
  115.                 textdrawType = 0;
  116.             }
  117.             else if (cline.Contains("CreatePlayerTextDraw"))
  118.             {
  119.                 int idx1 = cline.IndexOf("CreatePlayerTextDraw", StringComparison.CurrentCulture);
  120.                 int idx2 = cline.IndexOf('(', idx1);
  121.  
  122.                 if (idx1 > -1 && (idx1 + 20) != idx2)
  123.                     continue;
  124.  
  125.                 if (textdrawType > -1)
  126.                 {
  127.                     tdArray.Add(td);
  128.                     td = new TextDraw
  129.                     {
  130.                         LetterSize = new TextDraw.LetterSizeData(),
  131.                         TextSize = new TextDraw.TextSizeData(),
  132.                         Position = new TextDraw.PositionData(),
  133.                         Preview = new TextDraw.PreviewModelData()
  134.                     };
  135.                 }
  136.  
  137.                 idx1 = cline.IndexOf(',');
  138.                 idx2 = cline.IndexOf(',', idx1 + 1);
  139.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  140.  
  141.                 Decimal.TryParse(valor.Replace('.', ','), out decimal valorDec);
  142.                 td.Position.X = valorDec;
  143.  
  144.                 idx1 = cline.IndexOf(',', idx2);
  145.                 idx2 = cline.IndexOf(',', idx1 + 1);
  146.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  147.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  148.                 td.Position.Y = valorDec;
  149.  
  150.                 idx1 = cline.IndexOf('"', idx2);
  151.                 idx2 = cline.IndexOf('"', idx1 + 1);
  152.                 if (idx1 > -1 && idx2 > idx1)
  153.                     valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  154.                 else
  155.                     valor = "_";
  156.                 td.Text = valor;
  157.  
  158.                 idx1 = cline.IndexOf('=') - 1;
  159.                 if (idx1 > -1)
  160.                 {
  161.                     int idxChar1 = -1;
  162.                     int idxChar2 = -1;
  163.                     for (int j = idx1; j > -1; j--)
  164.                     {
  165.                         if (idxChar1 == -1 && !char.IsWhiteSpace(cline[j]))
  166.                             idxChar1 = j + 1;
  167.  
  168.                         if (idxChar2 == -1 && idxChar1 > -1 && (cline[j] == ' ' || j == 0))
  169.                             idxChar2 = j;
  170.  
  171.                         if (idxChar1 != -1 && idxChar2 != -1)
  172.                         {
  173.                             string varName = cline.Substring(idxChar2, idxChar1 - idxChar2).Trim();
  174.                             td.VariableName = varName;
  175.                             break;
  176.                         }
  177.                     }
  178.                 }
  179.  
  180.                 td.IsPublic = false;
  181.                 textdrawType = 1;
  182.             }
  183.  
  184.             if (textdrawType < 0)
  185.                 continue;
  186.  
  187.             if (cline.Contains(_textdraw[0, textdrawType])) // Font
  188.             {
  189.                 int idx1 = cline.IndexOf(',');
  190.                 if (textdrawType == 1)
  191.                     idx1 = cline.IndexOf(',', idx1 + 1);
  192.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  193.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  194.                 Int32.TryParse(valor, out Int32 valorInt);
  195.                 td.Font = valorInt;
  196.             }
  197.             else if (cline.Contains(_textdraw[1, textdrawType])) // Outline
  198.             {
  199.                 int idx1 = cline.IndexOf(',');
  200.                 if (textdrawType == 1)
  201.                     idx1 = cline.IndexOf(',', idx1 + 1);
  202.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  203.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  204.                 Int32.TryParse(valor, out Int32 valorInt);
  205.                 td.Outline = valorInt;
  206.             }
  207.             else if (cline.Contains(_textdraw[2, textdrawType])) // Shadow
  208.             {
  209.                 int idx1 = cline.IndexOf(',');
  210.                 if (textdrawType == 1)
  211.                     idx1 = cline.IndexOf(',', idx1 + 1);
  212.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  213.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  214.                 Int32.TryParse(valor, out Int32 valorInt);
  215.                 td.Shadow = valorInt;
  216.             }
  217.             else if (cline.Contains(_textdraw[3, textdrawType])) // Letter Size
  218.             {
  219.                 int idx1 = cline.IndexOf(',');
  220.                 if (textdrawType == 1)
  221.                     idx1 = cline.IndexOf(',', idx1 + 1);
  222.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  223.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  224.                 Decimal.TryParse(valor.Replace('.', ','), out Decimal valorDec);
  225.                 td.LetterSize.X = valorDec;
  226.                 idx1 = cline.IndexOf(',', idx2);
  227.                 idx2 = cline.IndexOf(')', idx1 + 1);
  228.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  229.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  230.                 td.LetterSize.Y = valorDec;
  231.             }
  232.             else if (cline.Contains(_textdraw[4, textdrawType])) // Color
  233.             {
  234.                 int idx1 = cline.IndexOf(',');
  235.                 if (textdrawType == 1)
  236.                     idx1 = cline.IndexOf(',', idx1 + 1);
  237.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  238.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  239.  
  240.                 if (valor.StartsWith("0x"))
  241.                 {
  242.                     td.Color = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  243.                 }
  244.                 else
  245.                 {
  246.                     Int32.TryParse(valor, out int valorInt);
  247.                     td.Color = valorInt;
  248.                 }
  249.             }
  250.             else if (cline.Contains(_textdraw[5, textdrawType])) // Background Color
  251.             {
  252.                 int idx1 = cline.IndexOf(',');
  253.                 if (textdrawType == 1)
  254.                     idx1 = cline.IndexOf(',', idx1 + 1);
  255.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  256.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  257.                 if (valor.StartsWith("0x"))
  258.                 {
  259.                     td.BackgroundColor = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  260.                 }
  261.                 else
  262.                 {
  263.                     Int32.TryParse(valor, out int valorInt);
  264.                     td.BackgroundColor = valorInt;
  265.                 }
  266.             }
  267.             else if (cline.Contains(_textdraw[6, textdrawType])) // Box Color
  268.             {
  269.                 int idx1 = cline.IndexOf(',');
  270.                 if (textdrawType == 1)
  271.                     idx1 = cline.IndexOf(',', idx1 + 1);
  272.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  273.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  274.  
  275.                 if (valor.StartsWith("0x"))
  276.                 {
  277.                     td.BoxColor = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  278.                 }
  279.                 else
  280.                 {
  281.                     Int32.TryParse(valor, out int valorInt);
  282.                     td.BoxColor = valorInt;
  283.                 }
  284.             }
  285.             else if (cline.Contains(_textdraw[7, textdrawType])) // Use Box
  286.             {
  287.                 int idx1 = cline.IndexOf(',');
  288.                 if (textdrawType == 1)
  289.                     idx1 = cline.IndexOf(',', idx1 + 1);
  290.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  291.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  292.                 td.UseBox = valor == "1";
  293.             }
  294.             else if (cline.Contains(_textdraw[8, textdrawType])) // Text Size
  295.             {
  296.                 int idx1 = cline.IndexOf(',');
  297.                 if (textdrawType == 1)
  298.                     idx1 = cline.IndexOf(',', idx1 + 1);
  299.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  300.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  301.                 Decimal.TryParse(valor.Replace('.', ','), out Decimal valorDec);
  302.                 td.TextSize.X = valorDec;
  303.                 idx1 = cline.IndexOf(',', idx2);
  304.                 idx2 = cline.IndexOf(')', idx1 + 1);
  305.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  306.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  307.                 td.TextSize.Y = valorDec;
  308.             }
  309.             else if (cline.Contains(_textdraw[9, textdrawType])) // Selectable
  310.             {
  311.                 int idx1 = cline.IndexOf(',');
  312.                 if (textdrawType == 1)
  313.                     idx1 = cline.IndexOf(',', idx1 + 1);
  314.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  315.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  316.                 td.Selectable = valor == "1";
  317.             }
  318.             else if (cline.Contains(_textdraw[10, textdrawType])) // Alignment
  319.             {
  320.                 int idx1 = cline.IndexOf(',');
  321.                 if (textdrawType == 1)
  322.                     idx1 = cline.IndexOf(',', idx1 + 1);
  323.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  324.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  325.                 Int32.TryParse(valor, out Int32 valorInt);
  326.                 td.Alignment = valorInt;
  327.             }
  328.             else if (cline.Contains(_textdraw[11, textdrawType])) // Proportional
  329.             {
  330.                 int idx1 = cline.IndexOf(',');
  331.                 if (textdrawType == 1)
  332.                     idx1 = cline.IndexOf(',', idx1 + 1);
  333.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  334.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  335.                 Int32.TryParse(valor, out Int32 valorInt);
  336.                 td.Proportional = valorInt;
  337.             }
  338.             else if (cline.Contains(_textdraw[12, textdrawType])) // Preview Model
  339.             {
  340.                 int idx1 = cline.IndexOf(',');
  341.                 if (textdrawType == 1)
  342.                     idx1 = cline.IndexOf(',', idx1 + 1);
  343.                 int idx2 = cline.IndexOf(')', idx1 + 1);
  344.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  345.                 Int32.TryParse(valor, out Int32 valorInt);
  346.                 td.Preview.Model = valorInt;
  347.             }
  348.             else if (cline.Contains(_textdraw[13, textdrawType])) // Preview Veh Col
  349.             {
  350.                 int idx1 = cline.IndexOf(',');
  351.                 if (textdrawType == 1)
  352.                     idx1 = cline.IndexOf(',', idx1 + 1);
  353.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  354.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  355.                 if (valor.StartsWith("0x"))
  356.                 {
  357.                     td.Preview.Color1 = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  358.                 }
  359.                 else
  360.                 {
  361.                     Int32.TryParse(valor, out Int32 valorInt);
  362.                     td.Preview.Color1 = valorInt;
  363.                 }
  364.                 idx1 = cline.IndexOf(',', idx2);
  365.                 idx2 = cline.IndexOf(')', idx1 + 1);
  366.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  367.                 if (valor.StartsWith("0x"))
  368.                 {
  369.                     td.Preview.Color2 = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  370.                 }
  371.                 else
  372.                 {
  373.                     Int32.TryParse(valor, out int valorInt);
  374.                     td.Preview.Color2 = valorInt;
  375.                 }
  376.             }
  377.             else if (cline.Contains(_textdraw[14, textdrawType])) // Preview Rot
  378.             {
  379.                 int idx1 = cline.IndexOf(',');
  380.                 if (textdrawType == 1)
  381.                     idx1 = cline.IndexOf(',', idx1 + 1);
  382.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  383.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  384.                 Decimal.TryParse(valor.Replace('.', ','), out Decimal valorDec);
  385.                 td.Preview.X = valorDec;
  386.  
  387.                 idx1 = cline.IndexOf(',', idx2);
  388.                 idx2 = cline.IndexOf(',', idx1 + 1);
  389.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  390.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  391.                 td.Preview.Y = valorDec;
  392.  
  393.                 idx1 = cline.IndexOf(',', idx2);
  394.                 idx2 = cline.IndexOf(',', idx1 + 1);
  395.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  396.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  397.                 td.Preview.Z = valorDec;
  398.  
  399.                 idx1 = cline.IndexOf(',', idx2);
  400.                 idx2 = cline.IndexOf(')', idx1 + 1);
  401.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  402.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  403.                 td.Preview.Zoom = valorDec;
  404.             }
  405.         }
  406.  
  407.         return tdArray.ToArray();
  408.     }
  409. }
  410.  
  411. public class ProgressBarReader
  412. {
  413.     public ProgressBar[] ProgressBar(string file)
  414.     {
  415.         List<ProgressBar> pbArray = new List<ProgressBar>();
  416.  
  417.         string[] flines = File.ReadAllLines(file);
  418.         ProgressBar pb = new ProgressBar();
  419.  
  420.         for (int i = 0; i < flines.Length; i++)
  421.         {
  422.             string cline = flines[i].Trim();
  423.             if (string.IsNullOrEmpty(cline) || i == (flines.Length - 1))
  424.                 continue;
  425.  
  426.             if (cline.Contains("CreatePlayerProgressBar"))
  427.             {
  428.                 int idx1 = cline.IndexOf('(');
  429.                 idx1 = cline.IndexOf(',', idx1);
  430.                 int idx2 = cline.IndexOf(',', idx1 + 1);
  431.                 string valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  432.                 Decimal.TryParse(valor.Replace('.', ','), out Decimal valorDec);
  433.                 pb.X = valorDec;
  434.  
  435.                 idx1 = cline.IndexOf(',', idx2);
  436.                 idx2 = cline.IndexOf(',', idx1 + 1);
  437.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  438.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  439.                 pb.Y = valorDec;
  440.  
  441.                 idx1 = cline.IndexOf(',', idx2);
  442.                 idx2 = cline.IndexOf(',', idx1 + 1);
  443.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  444.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  445.                 pb.Width = valorDec;
  446.  
  447.                 idx1 = cline.IndexOf(',', idx2);
  448.                 idx2 = cline.IndexOf(',', idx1 + 1);
  449.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  450.                 Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  451.                 pb.Height = valorDec;
  452.  
  453.                 idx1 = cline.IndexOf(',', idx2);
  454.                 idx2 = cline.IndexOf(',', idx1 + 1);
  455.                 valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  456.                 if (valor.StartsWith("0x"))
  457.                 {
  458.                     pb.Colour = Int32.Parse(valor.Substring(2), NumberStyles.HexNumber);
  459.                 }
  460.                 else
  461.                 {
  462.                     Int32.TryParse(valor, out int valorInt1);
  463.                     pb.Colour = valorInt1;
  464.                 }
  465.  
  466.                 idx1 = cline.IndexOf(',', idx2);
  467.                 idx2 = cline.IndexOf(',', idx1 + 1);
  468.                 if (idx2 > -1)
  469.                 {
  470.                     valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  471.                     Decimal.TryParse(valor.Replace('.', ','), out valorDec);
  472.                     pb.Max = valorDec;
  473.  
  474.                     idx1 = cline.IndexOf(',', idx2);
  475.                     idx2 = cline.IndexOf(')', idx1 + 1);
  476.                     valor = cline.Substring(idx1 + 1, idx2 - idx1 - 1).Trim();
  477.  
  478.                     if (!Int32.TryParse(valor, out Int32 valorInt2))
  479.                     {
  480.                         switch (valor)
  481.                         {
  482.                             case "BAR_DIRECTION_RIGHT":
  483.                                 {
  484.                                     valorInt2 = 0;
  485.                                     break;
  486.                                 }
  487.                             case "BAR_DIRECTION_LEFT":
  488.                                 {
  489.                                     valorInt2 = 1;
  490.                                     break;
  491.                                 }
  492.                             case "BAR_DIRECTION_UP":
  493.                                 {
  494.                                     valorInt2 = 2;
  495.                                     break;
  496.                                 }
  497.                             case "BAR_DIRECTION_DOWN":
  498.                                 {
  499.                                     valorInt2 = 3;
  500.                                     break;
  501.                                 }
  502.                         }
  503.  
  504.                         pb.Direction = valorInt2;
  505.                     }
  506.                     else
  507.                         pb.Direction = valorInt2;
  508.                 }
  509.                 else
  510.                     pb.Direction = 0;
  511.  
  512.                 idx1 = cline.IndexOf('=') - 1;
  513.                 if (idx1 > -1)
  514.                 {
  515.                     int idxChar1 = -1;
  516.                     int idxChar2 = -1;
  517.                     for (int j = idx1; j > -1; j--)
  518.                     {
  519.                         if (idxChar1 == -1 && !char.IsWhiteSpace(cline[j]))
  520.                             idxChar1 = j + 1;
  521.  
  522.                         if (idxChar2 == -1 && idxChar1 > -1 && (cline[j] == ' ' || j == 0))
  523.                             idxChar2 = j;
  524.  
  525.                         if (idxChar1 != -1 && idxChar2 != -1)
  526.                         {
  527.                             string varName = cline.Substring(idxChar2, idxChar1 - idxChar2).Trim();
  528.                             pb.VariableName = varName;
  529.                             break;
  530.                         }
  531.                     }
  532.                 }
  533.  
  534.                 pbArray.Add(pb);
  535.                 pb = new ProgressBar();
  536.             }
  537.         }
  538.  
  539.         return pbArray.ToArray();
  540.     }
  541. }
  542.  
  543. public class TextDraw
  544. {
  545.     public class PositionData
  546.     {
  547.         public Decimal X { get; set; }
  548.         public Decimal Y { get; set; }
  549.     }
  550.  
  551.     public class LetterSizeData
  552.     {
  553.         public Decimal X { get; set; }
  554.         public Decimal Y { get; set; }
  555.     }
  556.  
  557.     public class TextSizeData
  558.     {
  559.         public Decimal X { get; set; }
  560.         public Decimal Y { get; set; }
  561.     }
  562.  
  563.     public class PreviewModelData
  564.     {
  565.         public Int32 Model { get; set; }
  566.         public Decimal X { get; set; }
  567.         public Decimal Y { get; set; }
  568.         public Decimal Z { get; set; }
  569.         public Decimal Zoom { get; set; }
  570.         public Int32 Color1 { get; set; }
  571.         public Int32 Color2 { get; set; }
  572.     }
  573.  
  574.     public Boolean IsPublic { get; set; }
  575.     public PositionData Position { get; set; }
  576.     public String Text { get; set; }
  577.     public Int32 Font { get; set; }
  578.     public Int32 Outline { get; set; }
  579.     public Int32 Shadow { get; set; }
  580.     public LetterSizeData LetterSize { get; set; }
  581.     public Int32 Color { get; set; }
  582.     public Int32 BackgroundColor { get; set; }
  583.     public Int32 BoxColor { get; set; }
  584.     public Boolean UseBox { get; set; }
  585.     public TextSizeData TextSize { get; set; }
  586.     public Boolean Selectable { get; set; }
  587.     public Int32 Alignment { get; set; }
  588.     public Int32 Proportional { get; set; }
  589.     public PreviewModelData Preview { get; set; }
  590.     public String VariableName { get; set; }
  591. }
  592.  
  593. public class ProgressBar
  594. {
  595.     public Decimal X { get; set; }
  596.     public Decimal Y { get; set; }
  597.     public Decimal Width { get; set; }
  598.     public Decimal Height { get; set; }
  599.     public Int32 Colour { get; set; }
  600.     public Decimal Max { get; set; }
  601.     public Int32 Direction { get; set; }
  602.     public String VariableName { get; set; }
  603. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement