Firstborn/Assets/Daz3D/Scripts/Utilities.cs
Schaken-Mods 959e80cf72 assets upload
assets upload description.
2023-03-28 12:16:30 -05:00

49 lines
1.1 KiB
C#

using System;
using System.Text.RegularExpressions;
using UnityEngine;
namespace Daz3D
{
/// <summary>
/// Misc helpers methods, such as file handling
/// </summary>
public class Utilities
{
protected static Regex nameScrub = new Regex("[^a-zA-Z0-9_-]+");
public static string ScrubKey(string src)
{
src = src.Replace(" ", "_");
src = src.Replace(":", "_");
src = nameScrub.Replace(src, "");
return src;
}
protected static Regex directoryScrub = new Regex(@"[^a-zA-Z0-9-._/]+");
public static string ScrubPath(string src)
{
src = src.Replace("\\", "/");
src = src.Replace(" ", "_");
src = directoryScrub.Replace(src, "");
return src;
}
public static byte[] MD5AsBytes(string path)
{
var md5 = System.Security.Cryptography.MD5.Create();
var stream = System.IO.File.OpenRead(path);
var bytes = md5.ComputeHash(stream);
return bytes;
}
public static string MD5(string path)
{
var bytes = MD5AsBytes(path);
return BitConverter.ToString(bytes).Replace("-","").ToLowerInvariant();
}
public static float GetStrengthFromColor(Color color)
{
return color.grayscale;
}
}
}