コード例 #1
0
        public static string ReplaceStrideContent(string content, StrideContentType type)
        {
            // Rename various instances of Xenko to Stride
            switch (type)
            {
            case StrideContentType.Package:
                break;

            case StrideContentType.Project:
                content = Regex.Replace(content, "Include=\"Xenko", "Include=\"Stride");
                break;

            case StrideContentType.Code:
                content = Regex.Replace(content, @"using Xenko", "using Stride");
                content = Regex.Replace(content, @"\bXenko\.", "Stride.");
                break;

            case StrideContentType.Asset:
                content = Regex.Replace(content, @"SerializedVersion: \{Xenko", "SerializedVersion: {Stride");
                content = Regex.Replace(content, @"\!Xenko\.([^\s]+),Xenko\.([^\s]+)", "!Stride.$1,Stride.$2");
                // xkeffectlog
                content = Regex.Replace(content, @"EffectName: Xenko", "EffectName: Stride");
                content = Regex.Replace(content, @"Name: XENKO_", "Name: STRIDE_");
                content = Regex.Replace(content, @"XenkoEffectBase\.", "StrideEffectBase.");
                break;
            }

            return(content);
        }
コード例 #2
0
        public static string RenameStrideFile(string filePath, StrideContentType type)
        {
            var fileContents    = File.ReadAllText(filePath);
            var newFileContents = fileContents;

            // Rename namespaces
            newFileContents = ReplaceStrideContent(newFileContents, type);

            // Save file if there were any changes
            if (newFileContents != fileContents)
            {
                File.WriteAllText(filePath, newFileContents);
            }

            // Rename extension
            var extension = Path.GetExtension(filePath);

            if (extension.StartsWith(".xk"))
            {
                File.Move(filePath, filePath = filePath.Replace(".xk", ".sd"));
            }

            return(filePath);
        }