@@ -17,25 +17,14 @@ internal static class ProjectWideActionsAsset
17
17
18
18
internal static class ProjectSettingsProjectWideActionsAssetConverter
19
19
{
20
- private const string kAssetPathInputManager = "ProjectSettings/InputManager.asset" ;
21
- private const string kAssetNameProjectWideInputActions = "ProjectWideInputActions" ;
22
-
23
20
class ProjectSettingsPostprocessor : AssetPostprocessor
24
21
{
25
- private static bool migratedInputActionAssets = false ;
26
-
27
22
#if UNITY_2021_2_OR_NEWER
28
23
private static void OnPostprocessAllAssets ( string [ ] importedAssets , string [ ] deletedAssets , string [ ] movedAssets , string [ ] movedFromAssetPaths , bool didDomainReload )
29
24
#else
30
25
private static void OnPostprocessAllAssets ( string [ ] importedAssets , string [ ] deletedAssets , string [ ] movedAssets , string [ ] movedFromAssetPaths )
31
26
#endif
32
27
{
33
- if ( ! migratedInputActionAssets )
34
- {
35
- MoveInputManagerAssetActionsToProjectWideInputActionAsset ( ) ;
36
- migratedInputActionAssets = true ;
37
- }
38
-
39
28
if ( ! Application . isPlaying )
40
29
{
41
30
// If the Library folder is deleted, InputSystem will fail to retrieve the assigned Project-wide Asset because this look-up occurs
@@ -46,69 +35,6 @@ private static void OnPostprocessAllAssets(string[] importedAssets, string[] del
46
35
}
47
36
}
48
37
}
49
-
50
- private static void MoveInputManagerAssetActionsToProjectWideInputActionAsset ( )
51
- {
52
- var objects = AssetDatabase . LoadAllAssetsAtPath ( EditorHelpers . GetPhysicalPath ( kAssetPathInputManager ) ) ;
53
- if ( objects == null )
54
- return ;
55
-
56
- var inputActionsAsset = objects . FirstOrDefault ( o => o != null && o . name == kAssetNameProjectWideInputActions ) as InputActionAsset ;
57
- if ( inputActionsAsset != default )
58
- {
59
- // Found some actions in the InputManager.asset file
60
- //
61
- string path = ProjectWideActionsAsset . kDefaultAssetPath ;
62
-
63
- if ( File . Exists ( EditorHelpers . GetPhysicalPath ( path ) ) )
64
- {
65
- // We already have a path containing inputactions, find a new unique filename
66
- //
67
- // eg Assets/InputSystem_Actions.inputactions ->
68
- // Assets/InputSystem_Actions (1).inputactions ->
69
- // Assets/InputSystem_Actions (2).inputactions ...
70
- //
71
- string [ ] files = Directory . GetFiles ( "Assets" , "*.inputactions" ) ;
72
- List < string > names = new List < string > ( ) ;
73
- for ( int i = 0 ; i < files . Length ; i ++ )
74
- {
75
- names . Add ( System . IO . Path . GetFileNameWithoutExtension ( files [ i ] ) ) ;
76
- }
77
- string unique = ObjectNames . GetUniqueName ( names . ToArray ( ) , kDefaultAssetName ) ;
78
- path = "Assets/" + unique + ".inputactions" ;
79
- }
80
-
81
- var json = inputActionsAsset . ToJson ( ) ;
82
- InputActionAssetManager . SaveAsset ( EditorHelpers . GetPhysicalPath ( path ) , json ) ;
83
-
84
- Debug . Log ( $ "Migrated Project-wide Input Actions from '{ kAssetPathInputManager } ' to '{ path } ' asset") ;
85
-
86
- // Update current project-wide settings if needed (don't replace if already set to something else)
87
- //
88
- if ( InputSystem . actions == null || InputSystem . actions . name == kAssetNameProjectWideInputActions )
89
- {
90
- InputSystem . actions = ( InputActionAsset ) AssetDatabase . LoadAssetAtPath ( path , typeof ( InputActionAsset ) ) ;
91
- Debug . Log ( $ "Loaded Project-wide Input Actions from '{ path } ' asset") ;
92
- }
93
- }
94
-
95
- // Handle deleting all InputActionAssets as older 1.8.0 pre release could create more than one project wide input asset in the file
96
- foreach ( var obj in objects )
97
- {
98
- if ( obj is InputActionReference )
99
- {
100
- var actionReference = obj as InputActionReference ;
101
- AssetDatabase . RemoveObjectFromAsset ( obj ) ;
102
- Object . DestroyImmediate ( actionReference ) ;
103
- }
104
- else if ( obj is InputActionAsset )
105
- {
106
- AssetDatabase . RemoveObjectFromAsset ( obj ) ;
107
- }
108
- }
109
-
110
- AssetDatabase . SaveAssets ( ) ;
111
- }
112
38
}
113
39
114
40
// Returns the default asset path for where to create project-wide actions asset.
0 commit comments