49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace Klak.Hap
|
|
{
|
|
internal static class Utility
|
|
{
|
|
public static void Destroy(Object o)
|
|
{
|
|
if (o == null) return;
|
|
if (Application.isPlaying)
|
|
Object.Destroy(o);
|
|
else
|
|
Object.DestroyImmediate(o);
|
|
}
|
|
|
|
public static CodecType DetermineCodecType(int videoType)
|
|
{
|
|
switch (videoType & 0xf)
|
|
{
|
|
case 0xb: return CodecType.Hap;
|
|
case 0xe: return CodecType.HapAlpha;
|
|
case 0xf: return CodecType.HapQ;
|
|
}
|
|
return CodecType.Unsupported;
|
|
}
|
|
|
|
public static TextureFormat DetermineTextureFormat(int videoType)
|
|
{
|
|
switch (videoType & 0xf)
|
|
{
|
|
case 0xb: return TextureFormat.DXT1;
|
|
case 0xe: return TextureFormat.DXT5;
|
|
case 0xf: return TextureFormat.DXT5;
|
|
case 0xc: return TextureFormat.BC7;
|
|
case 0x1: return TextureFormat.BC4;
|
|
}
|
|
return TextureFormat.DXT1;
|
|
}
|
|
|
|
public static Shader DetermineBlitShader(int videoType)
|
|
{
|
|
if ((videoType & 0xf) == 0xf)
|
|
return Shader.Find("Klak/HAP Q");
|
|
else
|
|
return Shader.Find("Klak/HAP");
|
|
}
|
|
}
|
|
}
|