mirror of
https://github.com/Cysharp/UniTask.git
synced 2026-05-20 14:37:17 +00:00
store application.datapath on initialize #86
This commit is contained in:
@@ -239,7 +239,7 @@ namespace Cysharp.Threading.Tasks.Internal
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var fname = fi.FullName.Replace(Path.DirectorySeparatorChar, '/').Replace(Application.dataPath, "");
|
var fname = fi.FullName.Replace(Path.DirectorySeparatorChar, '/').Replace(PlayerLoopHelper.ApplicationDataPath, "");
|
||||||
var withAssetsPath = "Assets/" + fname;
|
var withAssetsPath = "Assets/" + fname;
|
||||||
return "<a href=\"" + withAssetsPath + "\" line=\"" + line + "\">" + withAssetsPath + ":" + line + "</a>";
|
return "<a href=\"" + withAssetsPath + "\" line=\"" + line + "\">" + withAssetsPath + ":" + line + "</a>";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,8 +92,10 @@ namespace Cysharp.Threading.Tasks
|
|||||||
{
|
{
|
||||||
public static SynchronizationContext UnitySynchronizationContext => unitySynchronizationContetext;
|
public static SynchronizationContext UnitySynchronizationContext => unitySynchronizationContetext;
|
||||||
public static int MainThreadId => mainThreadId;
|
public static int MainThreadId => mainThreadId;
|
||||||
|
internal static string ApplicationDataPath => applicationDataPath;
|
||||||
|
|
||||||
static int mainThreadId;
|
static int mainThreadId;
|
||||||
|
static string applicationDataPath;
|
||||||
static SynchronizationContext unitySynchronizationContetext;
|
static SynchronizationContext unitySynchronizationContetext;
|
||||||
static ContinuationQueue[] yielders;
|
static ContinuationQueue[] yielders;
|
||||||
static PlayerLoopRunner[] runners;
|
static PlayerLoopRunner[] runners;
|
||||||
@@ -177,6 +179,11 @@ namespace Cysharp.Threading.Tasks
|
|||||||
// capture default(unity) sync-context.
|
// capture default(unity) sync-context.
|
||||||
unitySynchronizationContetext = SynchronizationContext.Current;
|
unitySynchronizationContetext = SynchronizationContext.Current;
|
||||||
mainThreadId = Thread.CurrentThread.ManagedThreadId;
|
mainThreadId = Thread.CurrentThread.ManagedThreadId;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
applicationDataPath = Application.dataPath;
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
#if UNITY_EDITOR && UNITY_2019_3_OR_NEWER
|
#if UNITY_EDITOR && UNITY_2019_3_OR_NEWER
|
||||||
// When domain reload is disabled, re-initialization is required when entering play mode;
|
// When domain reload is disabled, re-initialization is required when entering play mode;
|
||||||
|
|||||||
@@ -302,15 +302,25 @@ public class SandboxMain : MonoBehaviour
|
|||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async UniTask<int> Ex()
|
||||||
|
{
|
||||||
|
await UniTask.Yield();
|
||||||
|
//throw new Exception();
|
||||||
|
await UniTask.Delay(TimeSpan.FromSeconds(15));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
//_ = UniTask.Run(async () =>
|
_ = Ex();
|
||||||
//{
|
|
||||||
// var watch = System.Diagnostics.Stopwatch.StartNew();
|
_ = UniTask.Run(async () =>
|
||||||
// await UniTask.Delay(new TimeSpan(0, 0, seconds: 10));
|
{
|
||||||
// Debug.Log(watch.Elapsed);
|
var watch = System.Diagnostics.Stopwatch.StartNew();
|
||||||
//});
|
await UniTask.Delay(new TimeSpan(0, 0, seconds: 10));
|
||||||
|
Debug.Log(watch.Elapsed);
|
||||||
|
});
|
||||||
|
|
||||||
//return;
|
//return;
|
||||||
//await UniTask.SwitchToMainThread();
|
//await UniTask.SwitchToMainThread();
|
||||||
|
|||||||
Reference in New Issue
Block a user