@@ -9,61 +9,29 @@ namespace Unity.MLAgents.Editor
9
9
{
10
10
internal class MLAgentsSettingsBuildProvider : IPreprocessBuildWithReport , IPostprocessBuildWithReport
11
11
{
12
- private MLAgentsSettings m_SettingsAddedToPreloadedAssets ;
13
-
14
12
public int callbackOrder => 0 ;
15
13
16
14
public void OnPreprocessBuild ( BuildReport report )
17
15
{
18
- var wasDirty = IsPlayerSettingsDirty ( ) ;
19
- m_SettingsAddedToPreloadedAssets = null ;
16
+ if ( ! EditorUtility . IsPersistent ( MLAgentsSettingsManager . Settings ) )
17
+ return ;
20
18
21
19
var preloadedAssets = PlayerSettings . GetPreloadedAssets ( ) . ToList ( ) ;
22
20
if ( ! preloadedAssets . Contains ( MLAgentsSettingsManager . Settings ) )
23
21
{
24
- m_SettingsAddedToPreloadedAssets = MLAgentsSettingsManager . Settings ;
25
- preloadedAssets . Add ( m_SettingsAddedToPreloadedAssets ) ;
22
+ preloadedAssets . Add ( MLAgentsSettingsManager . Settings ) ;
26
23
PlayerSettings . SetPreloadedAssets ( preloadedAssets . ToArray ( ) ) ;
27
24
}
28
-
29
- if ( ! wasDirty )
30
- ClearPlayerSettingsDirtyFlag ( ) ;
31
25
}
32
26
33
27
public void OnPostprocessBuild ( BuildReport report )
34
28
{
35
- if ( m_SettingsAddedToPreloadedAssets == null )
36
- return ;
37
-
38
- var wasDirty = IsPlayerSettingsDirty ( ) ;
39
-
40
29
var preloadedAssets = PlayerSettings . GetPreloadedAssets ( ) . ToList ( ) ;
41
- if ( preloadedAssets . Contains ( m_SettingsAddedToPreloadedAssets ) )
30
+ if ( preloadedAssets . Contains ( MLAgentsSettingsManager . Settings ) )
42
31
{
43
- preloadedAssets . Remove ( m_SettingsAddedToPreloadedAssets ) ;
32
+ preloadedAssets . Remove ( MLAgentsSettingsManager . Settings ) ;
44
33
PlayerSettings . SetPreloadedAssets ( preloadedAssets . ToArray ( ) ) ;
45
34
}
46
-
47
- m_SettingsAddedToPreloadedAssets = null ;
48
-
49
- if ( ! wasDirty )
50
- ClearPlayerSettingsDirtyFlag ( ) ;
51
- }
52
-
53
-
54
- private static bool IsPlayerSettingsDirty ( )
55
- {
56
- var settings = Resources . FindObjectsOfTypeAll < PlayerSettings > ( ) ;
57
- if ( settings != null && settings . Length > 0 )
58
- return EditorUtility . IsDirty ( settings [ 0 ] ) ;
59
- return false ;
60
- }
61
-
62
- private static void ClearPlayerSettingsDirtyFlag ( )
63
- {
64
- var settings = Resources . FindObjectsOfTypeAll < PlayerSettings > ( ) ;
65
- if ( settings != null && settings . Length > 0 )
66
- EditorUtility . ClearDirty ( settings [ 0 ] ) ;
67
35
}
68
36
}
69
37
}
0 commit comments