private CodeGenFile GenerateCleanupSystem(string contextName, ComponentData data)
        {
            var filename = FILENAME
                           .Replace(contextName)
                           .Replace(data, contextName);
            var absoluteFilePath = Path.Combine(FILEPATH.Replace(contextName), filename);
            var fileContents     = FILE_TEMPLATE
                                   .Replace(data, contextName)
                                   .Replace(SYSTEM_CLASS_NAME, data.GetCleanupDestroySystemClassName(contextName));

            return(new CodeGenFile(absoluteFilePath, fileContents, NAME));
        }
        private string GetAddSystemContent(string contextName, ComponentData data)
        {
            var result = string.Empty;

            if (data.HasCleanupDestroyEntityData())
            {
                result = ALLOCATE_AND_ADD_SYSTEM_LOGIC.Replace(SYSTEM_CLASS_NAME, data.GetCleanupDestroySystemClassName(contextName));
            }
            else if (data.HasCleanupRemoveComponentData())
            {
                result = ALLOCATE_AND_ADD_SYSTEM_LOGIC.Replace(SYSTEM_CLASS_NAME, data.GetCleanupRemoveSystemClassName(contextName));
            }

            Debug.Assert(!string.IsNullOrEmpty(result));

            return(result);
        }