private static SystemData ParseSystemFile(string path)
        {
            SystemData record = new SystemData();

            using (var reader = new StreamReader(path))
            {
                string fileText = reader.ReadToEnd()
                                  .Replace("\r\n", string.Empty);

                record.Name        = EntitasScriptParser.ParseSystemName(fileText);
                record.Description = EntitasScriptParser.ParseSummaryDescription(fileText);
                EntitasScriptParser.ParseSystemTypes(fileText, record);

                if (EntitasScriptParser.TryParseReactiveSystem(fileText, out string entity))
                {
                    record.Reactive = new ReactiveSystemData()
                    {
                        Entity = entity
                    };
                    EntitasScriptParser.ParseSystemTriggers(fileText, record.Reactive);
                }
            }

            return(record);
        }
        private static ComponentData ParseComponentFile(string path)
        {
            ComponentData record = new ComponentData();

            using (var reader = new StreamReader(path))
            {
                string fileText = reader.ReadToEnd()
                                  .Replace("\r\n", string.Empty);

                record.Name        = EntitasScriptParser.ParseComponentName(fileText);
                record.Description = EntitasScriptParser.ParseSummaryDescription(fileText);
                EntitasScriptParser.ParseComponentAttributes(fileText, record);
                EntitasScriptParser.ParseComponentFields(fileText, record);
            }

            return(record);
        }