Merge branch 'release_1' into pr/458
This commit is contained in:
commit
210be54ba3
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 94a532e936b434bbe853ffa15a046c91
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 22e9fa4365f17a149a980b4997eaee40
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
"name": "VorbisPluginImpl",
|
|
||||||
"rootNamespace": "OggVorbis",
|
|
||||||
"references": [],
|
|
||||||
"includePlatforms": [],
|
|
||||||
"excludePlatforms": [],
|
|
||||||
"allowUnsafeCode": false,
|
|
||||||
"overrideReferences": true,
|
|
||||||
"precompiledReferences": [],
|
|
||||||
"autoReferenced": true,
|
|
||||||
"defineConstraints": [],
|
|
||||||
"versionDefines": [],
|
|
||||||
"noEngineReferences": false
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 6369f65a3f137eb448c3456fdbf498ff
|
|
||||||
AssemblyDefinitionImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ce6e87ce76d38cf499f4721cfcff2012
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,89 +0,0 @@
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
namespace OggVorbis
|
|
||||||
{
|
|
||||||
internal static class NativeBridge
|
|
||||||
{
|
|
||||||
#if UNITY_IOS && !UNITY_EDITOR
|
|
||||||
private const string PLUGIN_NAME = "__Internal";
|
|
||||||
#else
|
|
||||||
private const string PLUGIN_NAME = "VorbisPlugin";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "write_all_pcm_data_to_file")]
|
|
||||||
internal static extern int WriteAllPcmDataToFile(
|
|
||||||
string filePath,
|
|
||||||
float[] samples,
|
|
||||||
int samplesLength,
|
|
||||||
short channels,
|
|
||||||
int frequency,
|
|
||||||
float base_quality,
|
|
||||||
int samplesToRead);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "write_all_pcm_data_to_memory")]
|
|
||||||
internal static extern int WriteAllPcmDataToMemory(
|
|
||||||
out System.IntPtr bytesPtr,
|
|
||||||
out int bytesLength,
|
|
||||||
float[] samples,
|
|
||||||
int samplesLength,
|
|
||||||
short channels,
|
|
||||||
int frequency,
|
|
||||||
float base_quality,
|
|
||||||
int samplesToRead);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "free_memory_array_for_write_all_pcm_data")]
|
|
||||||
internal static extern int FreeMemoryArrayForWriteAllPcmData(
|
|
||||||
System.IntPtr bytesNativeArray);
|
|
||||||
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "read_all_pcm_data_from_file")]
|
|
||||||
internal static extern int ReadAllPcmDataFromFile(
|
|
||||||
string filePath,
|
|
||||||
out System.IntPtr samples,
|
|
||||||
out int samplesLength,
|
|
||||||
out short channels,
|
|
||||||
out int frequency,
|
|
||||||
int maxSamplesToRead);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "read_all_pcm_data_from_memory")]
|
|
||||||
internal static extern int ReadAllPcmDataFromMemory(
|
|
||||||
byte[] memoryArray,
|
|
||||||
int memoryArrayLength,
|
|
||||||
out System.IntPtr samples,
|
|
||||||
out int samplesLength,
|
|
||||||
out short channels,
|
|
||||||
out int frequency,
|
|
||||||
int maxSamplesToRead);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "free_samples_array_native_memory")]
|
|
||||||
internal static extern int FreeSamplesArrayNativeMemory(
|
|
||||||
ref System.IntPtr samples);
|
|
||||||
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "open_read_file_stream")]
|
|
||||||
internal static extern System.IntPtr OpenReadFileStream(
|
|
||||||
string filePath,
|
|
||||||
out short channels,
|
|
||||||
out int frequency);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "read_from_file_stream")]
|
|
||||||
internal static extern int ReadFromFileStream(
|
|
||||||
System.IntPtr state,
|
|
||||||
float[] samplesToFill,
|
|
||||||
int maxSamplesToRead);
|
|
||||||
[DllImport(PLUGIN_NAME,
|
|
||||||
CallingConvention = CallingConvention.Cdecl,
|
|
||||||
EntryPoint = "close_file_stream")]
|
|
||||||
internal static extern int CloseFileStream(
|
|
||||||
System.IntPtr state);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 7a62e42f4d5890e429df61d6f0af2e0d
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,20 +0,0 @@
|
||||||
namespace OggVorbis
|
|
||||||
{
|
|
||||||
public enum NativeErrorCode
|
|
||||||
{
|
|
||||||
ERROR_INVALID_FILEPATH_PARAMETER = -1,
|
|
||||||
ERROR_CANNOT_OPEN_FILE_FOR_WRITE = -2,
|
|
||||||
ERROR_CANNOT_OPEN_FILE_FOR_READ = -3,
|
|
||||||
ERROR_INPUT_FILESTREAM_IS_NOT_OGG_STREAM = -4,
|
|
||||||
ERROR_READING_OGG_STREAM = -5,
|
|
||||||
|
|
||||||
ERROR_INVALID_SAMPLES_PARAMETER = -10,
|
|
||||||
ERROR_INVALID_SAMPLESLENGTH_PARAMETER = -11,
|
|
||||||
ERROR_INVALID_CHANNELS_PARAMETER = -12,
|
|
||||||
ERROR_INVALID_FREQUENCY_PARAMETER = -13,
|
|
||||||
ERROR_INVALID_BASE_QUALITY_PARAMETER = -14,
|
|
||||||
ERROR_MALLOC_RETURNED_NULL = -15,
|
|
||||||
ERROR_BYTES_MEMORY_ARRAY_NULL = -16,
|
|
||||||
ERROR_INVALID_WRITE_CALLBACK_PARAMETER = -17,
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: a0842d9e22713d5498e69792dfc7dd7c
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,27 +0,0 @@
|
||||||
namespace OggVorbis
|
|
||||||
{
|
|
||||||
public class NativeErrorException : System.Exception
|
|
||||||
{
|
|
||||||
public NativeErrorCode NativeErrorCode { get; }
|
|
||||||
|
|
||||||
private NativeErrorException(NativeErrorCode nativeErrorCode)
|
|
||||||
: base($"Error code: {nativeErrorCode}")
|
|
||||||
{
|
|
||||||
NativeErrorCode = nativeErrorCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return $"{nameof(NativeErrorException)} {Message}";
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static void ThrowExceptionIfNecessary(int returnValue)
|
|
||||||
{
|
|
||||||
if (returnValue == 0)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
throw new NativeErrorException((NativeErrorCode)returnValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 43b9e4fd60d7b1b42babf0b567adc798
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,170 +0,0 @@
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
namespace OggVorbis
|
|
||||||
{
|
|
||||||
public static class VorbisPlugin
|
|
||||||
{
|
|
||||||
public static void Save(
|
|
||||||
string filePath,
|
|
||||||
UnityEngine.AudioClip audioClip,
|
|
||||||
float quality = 0.4f,
|
|
||||||
int samplesToRead = 1024)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrWhiteSpace(filePath))
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException("The file path is null or white space");
|
|
||||||
}
|
|
||||||
if (audioClip == null)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentNullException(nameof(audioClip));
|
|
||||||
}
|
|
||||||
if (samplesToRead <= 0)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentOutOfRangeException(nameof(samplesToRead));
|
|
||||||
}
|
|
||||||
short finalChannelsCount = (short)audioClip.channels;
|
|
||||||
if (finalChannelsCount != 1 && finalChannelsCount != 2)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException($"Only one or two channels are supported, provided channels count: {finalChannelsCount}");
|
|
||||||
}
|
|
||||||
if (!filePath.EndsWith(".ogg"))
|
|
||||||
{
|
|
||||||
filePath += ".ogg";
|
|
||||||
}
|
|
||||||
|
|
||||||
float[] pcm = new float[audioClip.samples * audioClip.channels];
|
|
||||||
audioClip.GetData(pcm, 0);
|
|
||||||
int returnCode = NativeBridge.WriteAllPcmDataToFile(filePath, pcm, pcm.Length, finalChannelsCount, audioClip.frequency, quality, samplesToRead);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
}
|
|
||||||
public static byte[] GetOggVorbis(
|
|
||||||
UnityEngine.AudioClip audioClip,
|
|
||||||
float quality = 0.4f,
|
|
||||||
int samplesToRead = 1024)
|
|
||||||
{
|
|
||||||
if (audioClip == null)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentNullException(nameof(audioClip));
|
|
||||||
}
|
|
||||||
if (samplesToRead <= 0)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentOutOfRangeException(nameof(samplesToRead));
|
|
||||||
}
|
|
||||||
short finalChannelsCount = (short)audioClip.channels;
|
|
||||||
if (finalChannelsCount != 1 && finalChannelsCount != 2)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException($"Only one or two channels are supported, provided channels count: {finalChannelsCount}");
|
|
||||||
}
|
|
||||||
int returnCode;
|
|
||||||
System.IntPtr bytesPtr = System.IntPtr.Zero;
|
|
||||||
byte[] bytes;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
float[] pcm = new float[audioClip.samples * audioClip.channels];
|
|
||||||
audioClip.GetData(pcm, 0);
|
|
||||||
returnCode = NativeBridge.WriteAllPcmDataToMemory(
|
|
||||||
out bytesPtr,
|
|
||||||
out int bytesLength,
|
|
||||||
pcm,
|
|
||||||
pcm.Length,
|
|
||||||
finalChannelsCount,
|
|
||||||
audioClip.frequency,
|
|
||||||
quality,
|
|
||||||
samplesToRead);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
bytes = new byte[bytesLength];
|
|
||||||
Marshal.Copy(bytesPtr, bytes, 0, bytesLength);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
returnCode = NativeBridge.FreeMemoryArrayForWriteAllPcmData(bytesPtr);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
}
|
|
||||||
return bytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static UnityEngine.AudioClip Load(string filePath, int maxSamplesToRead = 1024)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrWhiteSpace(filePath))
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException("The file path is null or white space");
|
|
||||||
}
|
|
||||||
if (maxSamplesToRead <= 0)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentOutOfRangeException(nameof(maxSamplesToRead));
|
|
||||||
}
|
|
||||||
if (!System.IO.File.Exists(filePath))
|
|
||||||
{
|
|
||||||
throw new System.IO.FileNotFoundException();
|
|
||||||
}
|
|
||||||
int returnCode;
|
|
||||||
System.IntPtr pcmPtr = System.IntPtr.Zero;
|
|
||||||
UnityEngine.AudioClip audioClip;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
returnCode = NativeBridge.ReadAllPcmDataFromFile(
|
|
||||||
filePath,
|
|
||||||
out pcmPtr,
|
|
||||||
out int pcmLength,
|
|
||||||
out short channels,
|
|
||||||
out int frequency,
|
|
||||||
maxSamplesToRead);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
float[] pcm = new float[pcmLength];
|
|
||||||
Marshal.Copy(pcmPtr, pcm, 0, pcmLength);
|
|
||||||
audioClip = UnityEngine.AudioClip.Create(System.IO.Path.GetFileName(filePath), pcmLength / channels, channels, frequency, false);
|
|
||||||
audioClip.SetData(pcm, 0);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
returnCode = NativeBridge.FreeSamplesArrayNativeMemory(ref pcmPtr);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
}
|
|
||||||
return audioClip;
|
|
||||||
}
|
|
||||||
public static UnityEngine.AudioClip ToAudioClip(byte[] bytes, string audioClipName, int maxSamplesToRead = 1024)
|
|
||||||
{
|
|
||||||
if (bytes == null)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentNullException(nameof(bytes));
|
|
||||||
}
|
|
||||||
if (bytes.Length < 10)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException(nameof(bytes));
|
|
||||||
}
|
|
||||||
if (string.IsNullOrWhiteSpace(audioClipName))
|
|
||||||
{
|
|
||||||
throw new System.ArgumentException("Please provide an audio clip name");
|
|
||||||
}
|
|
||||||
if (maxSamplesToRead <= 0)
|
|
||||||
{
|
|
||||||
throw new System.ArgumentOutOfRangeException(nameof(maxSamplesToRead));
|
|
||||||
}
|
|
||||||
int returnCode;
|
|
||||||
System.IntPtr pcmPtr = System.IntPtr.Zero;
|
|
||||||
UnityEngine.AudioClip audioClip = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
returnCode = NativeBridge.ReadAllPcmDataFromMemory(
|
|
||||||
bytes,
|
|
||||||
bytes.Length,
|
|
||||||
out pcmPtr,
|
|
||||||
out int pcmLength,
|
|
||||||
out short channels,
|
|
||||||
out int frequency,
|
|
||||||
maxSamplesToRead);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
float[] pcm = new float[pcmLength];
|
|
||||||
Marshal.Copy(pcmPtr, pcm, 0, pcmLength);
|
|
||||||
audioClip = UnityEngine.AudioClip.Create(audioClipName, pcmLength / channels, channels, frequency, false);
|
|
||||||
audioClip.SetData(pcm, 0);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
returnCode = NativeBridge.FreeSamplesArrayNativeMemory(ref pcmPtr);
|
|
||||||
NativeErrorException.ThrowExceptionIfNecessary(returnCode);
|
|
||||||
}
|
|
||||||
return audioClip;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 02000528ede72eb4e9fa9627185e0ac6
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 4432b532ac5884e10af081654d1e89f7
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: fc30b60a7054ffe4fab9a1213bc78822
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: ed6b2cc40bb22a344a651710a3c09021
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: f212bce8ee6b531478c1cbf853aefd27
|
|
||||||
folderAsset: yes
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 786d6d20fa5aa734e9663361b25b9a13
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: ARM64
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 6b4324dc320d4954d98e6f02832e1310
|
|
||||||
folderAsset: yes
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 984717b87470169429b9186dfacf490b
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: ARMv7
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 933d7b0fdd3ae9fc18cbc60bbf3a746c
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,86 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 93af7550f1e761df48d651960136b85d
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 1
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
: Any
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
Exclude Android: 1
|
|
||||||
Exclude Editor: 0
|
|
||||||
Exclude Linux64: 0
|
|
||||||
Exclude OSXUniversal: 1
|
|
||||||
Exclude WebGL: 1
|
|
||||||
Exclude Win: 0
|
|
||||||
Exclude Win64: 0
|
|
||||||
Exclude iOS: 1
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: ARMv7
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
OS: Linux
|
|
||||||
- first:
|
|
||||||
Standalone: Linux64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: OSXUniversal
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Standalone: Win
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Standalone: Win64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
WebGL: WebGL
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
CPU: AnyCPU
|
|
||||||
CompileFlags:
|
|
||||||
FrameworkDependencies:
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: b17ebb086ab3a40e38b962354571591c
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,80 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 3dd18ede30e7e4dcbaae02cd851ffd1c
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 1
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
: Any
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
Exclude Android: 0
|
|
||||||
Exclude Editor: 0
|
|
||||||
Exclude Linux64: 1
|
|
||||||
Exclude OSXUniversal: 0
|
|
||||||
Exclude Win: 1
|
|
||||||
Exclude Win64: 1
|
|
||||||
Exclude iOS: 0
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: ARMv7
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
OS: AnyOS
|
|
||||||
- first:
|
|
||||||
Standalone: Linux64
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Standalone: OSXUniversal
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: Win
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: x86
|
|
||||||
- first:
|
|
||||||
Standalone: Win64
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: x86_64
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
CPU: AnyCPU
|
|
||||||
CompileFlags:
|
|
||||||
FrameworkDependencies:
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 7f766c141793afa4cb9995b7ec9dad90
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 945159874f3e2da4c87b384d5ce9f88a
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,82 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: c604fbaeb4366014db10d1915bf4533d
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
: Any
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
Exclude Android: 1
|
|
||||||
Exclude Editor: 0
|
|
||||||
Exclude Linux64: 0
|
|
||||||
Exclude OSXUniversal: 0
|
|
||||||
Exclude Win: 0
|
|
||||||
Exclude Win64: 0
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: ARMv7
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: x86
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
OS: Windows
|
|
||||||
- first:
|
|
||||||
Facebook: Win
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Facebook: Win64
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Standalone: Linux64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: OSXUniversal
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: Win
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: Win64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: a9188e20df95d204a82ed104bc95e446
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,82 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 8366486b20439f44ca3c6f11acb29fee
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
: Any
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
Exclude Android: 1
|
|
||||||
Exclude Editor: 0
|
|
||||||
Exclude Linux64: 0
|
|
||||||
Exclude OSXUniversal: 0
|
|
||||||
Exclude Win: 1
|
|
||||||
Exclude Win64: 0
|
|
||||||
- first:
|
|
||||||
Android: Android
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: ARMv7
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: x86_64
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
OS: Windows
|
|
||||||
- first:
|
|
||||||
Facebook: Win
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Facebook: Win64
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: Linux64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: OSXUniversal
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
- first:
|
|
||||||
Standalone: Win
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
CPU: None
|
|
||||||
- first:
|
|
||||||
Standalone: Win64
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
CPU: AnyCPU
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,8 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: d0aa47147d98f4642b47b3ed2aec0e99
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: d0f7d099267d14a02bce1e39b785d79c
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 75feb76cf68884b5b92865a558e77af2
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 27e6a8c0604d24215b304cb34439667b
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: f8cfa486d31994f71acc5a37aabb5fad
|
|
||||||
PluginImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
iconMap: {}
|
|
||||||
executionOrder: {}
|
|
||||||
defineConstraints: []
|
|
||||||
isPreloaded: 0
|
|
||||||
isOverridable: 0
|
|
||||||
isExplicitlyReferenced: 0
|
|
||||||
validateReferences: 1
|
|
||||||
platformData:
|
|
||||||
- first:
|
|
||||||
Any:
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings: {}
|
|
||||||
- first:
|
|
||||||
Editor: Editor
|
|
||||||
second:
|
|
||||||
enabled: 0
|
|
||||||
settings:
|
|
||||||
DefaultValueInitialized: true
|
|
||||||
- first:
|
|
||||||
iPhone: iOS
|
|
||||||
second:
|
|
||||||
enabled: 1
|
|
||||||
settings:
|
|
||||||
AddToEmbeddedBinaries: false
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -393,10 +393,8 @@ namespace HeavenStudio.Editor
|
||||||
StandaloneFileBrowser.OpenFilePanelAsync("Open Remix", "", extensions, false, (string[] paths) =>
|
StandaloneFileBrowser.OpenFilePanelAsync("Open Remix", "", extensions, false, (string[] paths) =>
|
||||||
{
|
{
|
||||||
var path = Path.Combine(paths);
|
var path = Path.Combine(paths);
|
||||||
|
|
||||||
if (path == string.Empty) return;
|
if (path == string.Empty) return;
|
||||||
|
|
||||||
GlobalGameManager.ShowLoadingMessage("Loading", $"Loading remix from {path}");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string tmpDir = RiqFileHandler.ExtractRiq(path);
|
string tmpDir = RiqFileHandler.ExtractRiq(path);
|
||||||
|
@ -417,8 +415,6 @@ namespace HeavenStudio.Editor
|
||||||
remixName = Path.GetFileName(path);
|
remixName = Path.GetFileName(path);
|
||||||
UpdateEditorStatus(false);
|
UpdateEditorStatus(false);
|
||||||
CommandManager.instance.Clear();
|
CommandManager.instance.Clear();
|
||||||
|
|
||||||
GlobalGameManager.instance.HideDialog();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -924,7 +924,8 @@ namespace HeavenStudio.Editor.Track
|
||||||
|
|
||||||
public void UpdateOffsetText()
|
public void UpdateOffsetText()
|
||||||
{
|
{
|
||||||
FirstBeatOffset.text = (GameManager.instance.Beatmap.data.offset * 1000f).ToString("G");
|
// show up to 4 decimal places
|
||||||
|
FirstBeatOffset.text = (GameManager.instance.Beatmap.data.offset * 1000f).ToString("F0");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateOffsetFromText()
|
public void UpdateOffsetFromText()
|
||||||
|
@ -934,10 +935,7 @@ namespace HeavenStudio.Editor.Track
|
||||||
FirstBeatOffset.text = "0";
|
FirstBeatOffset.text = "0";
|
||||||
|
|
||||||
// Convert ms to s.
|
// Convert ms to s.
|
||||||
var newOffset = Convert.ToSingle(FirstBeatOffset.text) / 1000f;
|
double newOffset = Convert.ToDouble(FirstBeatOffset.text) / 1000f;
|
||||||
|
|
||||||
// Limit decimal places to 4.
|
|
||||||
newOffset = (float)System.Math.Round(newOffset, 4);
|
|
||||||
|
|
||||||
GameManager.instance.Beatmap.data.offset = newOffset;
|
GameManager.instance.Beatmap.data.offset = newOffset;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue