File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,8 @@ public class LLMManager
3232 {
3333 public static float downloadProgress = 1 ;
3434 public static List < Callback < float > > downloadProgressCallbacks = new List < Callback < float > > ( ) ;
35+ static Task downloadModelsTask ;
36+ static readonly object lockObject = new object ( ) ;
3537 static long totalSize ;
3638 static long currFileSize ;
3739 static long completedSize ;
@@ -42,7 +44,16 @@ public static void SetDownloadProgress(float progress)
4244 foreach ( Callback < float > downloadProgressCallback in downloadProgressCallbacks ) downloadProgressCallback ? . Invoke ( downloadProgress ) ;
4345 }
4446
45- public static async Task DownloadModels ( )
47+ public static Task DownloadModels ( )
48+ {
49+ lock ( lockObject )
50+ {
51+ if ( downloadModelsTask == null ) downloadModelsTask = DownloadModelsOnce ( ) ;
52+ }
53+ return downloadModelsTask ;
54+ }
55+
56+ public static async Task DownloadModelsOnce ( )
4657 {
4758 if ( Application . platform == RuntimePlatform . Android ) await LLMUnitySetup . AndroidExtractFile ( LLMUnitySetup . BuildFilename ) ;
4859 if ( ! File . Exists ( LLMUnitySetup . BuildFile ) ) return ;
You can’t perform that action at this time.
0 commit comments