Skip to content

Commit e624b8e

Browse files
committed
Handles Mac paths in UnitySetupInstance.
1 parent 6ba5f79 commit e624b8e

File tree

1 file changed

+44
-16
lines changed

1 file changed

+44
-16
lines changed

UnitySetup/UnitySetup.psm1

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,17 @@ class UnitySetupInstance {
3535
[string]$Path
3636

3737
UnitySetupInstance([string]$path) {
38+
39+
# Windows
40+
if ((-not $global:PSVersionTable.Platform) -or ($global:PSVersionTable.Platform -eq "Win32NT")) {
41+
$ivyPath = 'Editor\Data\UnityExtensions\Unity\Networking\ivy.xml'
42+
}
43+
# Mac or Linux
44+
else {
45+
$ivyPath = 'Unity.app/Contents/UnityExtensions/Unity/Networking/ivy.xml'
46+
}
3847

39-
$ivyPath = [io.path]::Combine("$path", 'Editor\Data\UnityExtensions\Unity\Networking\ivy.xml');
48+
$ivyPath = [io.path]::Combine("$path", $ivyPath);
4049
if (!(Test-Path $ivyPath)) { throw "Path is not a Unity setup: $path"}
4150
[xml]$xmlDoc = Get-Content $ivyPath
4251

@@ -48,21 +57,40 @@ class UnitySetupInstance {
4857
$this.Version = $xmlDoc.'ivy-module'.info.unityVersion
4958
$this.Components = [UnitySetupComponent]::Setup
5059

51-
$componentTests = @{
52-
[UnitySetupComponent]::Documentation = , "$Path\Editor\Data\Documentation";
53-
[UnitySetupComponent]::StandardAssets = , "$Path\Editor\Standard Assets";
54-
[UnitySetupComponent]::Windows_IL2CPP = , "$Path\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_development_il2cpp";
55-
[UnitySetupComponent]::Metro = "$Path\Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_.NET_D3D",
56-
"$Path\Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_D3D";
57-
[UnitySetupComponent]::UWP_IL2CPP = , "$Path\Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_IL2CPP_D3D";
58-
[UnitySetupComponent]::Android = , "$Path\Editor\Data\PlaybackEngines\AndroidPlayer";
59-
[UnitySetupComponent]::iOS = , "$Path\Editor\Data\PlaybackEngines\iOSSupport";
60-
[UnitySetupComponent]::AppleTV = , "$Path\Editor\Data\PlaybackEngines\AppleTVSupport";
61-
[UnitySetupComponent]::Facebook = , "$Path\Editor\Data\PlaybackEngines\Facebook";
62-
[UnitySetupComponent]::Linux = , "$Path\Editor\Data\PlaybackEngines\LinuxStandaloneSupport";
63-
[UnitySetupComponent]::Mac = , "$Path\Editor\Data\PlaybackEngines\MacStandaloneSupport";
64-
[UnitySetupComponent]::Vuforia = , "$Path\Editor\Data\PlaybackEngines\VuforiaSupport";
65-
[UnitySetupComponent]::WebGL = , "$Path\Editor\Data\PlaybackEngines\WebGLSupport";
60+
# Windows
61+
if ((-not $global:PSVersionTable.Platform) -or ($global:PSVersionTable.Platform -eq "Win32NT")) {
62+
$componentTests = @{
63+
[UnitySetupComponent]::Documentation = , [io.path]::Combine("$Path", "Editor\Data\Documentation");
64+
[UnitySetupComponent]::StandardAssets = , [io.path]::Combine("$Path", "Editor\Standard Assets");
65+
[UnitySetupComponent]::Windows_IL2CPP = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win32_development_il2cpp");
66+
[UnitySetupComponent]::Metro = [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_.NET_D3D"),
67+
[io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_D3D");
68+
[UnitySetupComponent]::UWP_IL2CPP = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\MetroSupport\Templates\UWP_IL2CPP_D3D");
69+
[UnitySetupComponent]::Android = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\AndroidPlayer");
70+
[UnitySetupComponent]::iOS = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\iOSSupport");
71+
[UnitySetupComponent]::AppleTV = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\AppleTVSupport");
72+
[UnitySetupComponent]::Facebook = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\Facebook");
73+
[UnitySetupComponent]::Linux = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\LinuxStandaloneSupport");
74+
[UnitySetupComponent]::Mac = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\MacStandaloneSupport");
75+
[UnitySetupComponent]::Vuforia = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\VuforiaSupport");
76+
[UnitySetupComponent]::WebGL = , [io.path]::Combine("$Path", "Editor\Data\PlaybackEngines\WebGLSupport");
77+
}
78+
}
79+
# Mac or Linux
80+
else {
81+
$componentTests = @{
82+
[UnitySetupComponent]::Documentation = , [io.path]::Combine("$Path", "Documentation");
83+
[UnitySetupComponent]::StandardAssets = , [io.path]::Combine("$Path", "Standard Assets");
84+
[UnitySetupComponent]::Android = , [io.path]::Combine("$Path", "PlaybackEngines/AndroidPlayer");
85+
[UnitySetupComponent]::iOS = , [io.path]::Combine("$Path", "PlaybackEngines/iOSSupport");
86+
[UnitySetupComponent]::AppleTV = , [io.path]::Combine("$Path", "PlaybackEngines/AppleTVSupport");
87+
[UnitySetupComponent]::Facebook = , [io.path]::Combine("$Path", "PlaybackEngines/Facebook");
88+
[UnitySetupComponent]::Linux = , [io.path]::Combine("$Path", "PlaybackEngines/LinuxStandaloneSupport");
89+
[UnitySetupComponent]::Windows = , [io.path]::Combine("$Path", "PlaybackEngines/WindowsStandaloneSupport");
90+
[UnitySetupComponent]::Mac = , [io.path]::Combine("$Path", "Unity.app/Contents/PlaybackEngines/MacStandaloneSupport");
91+
[UnitySetupComponent]::Vuforia = , [io.path]::Combine("$Path", "PlaybackEngines/VuforiaSupport");
92+
[UnitySetupComponent]::WebGL = , [io.path]::Combine("$Path", "PlaybackEngines/WebGLSupport");
93+
}
6694
}
6795

6896
$componentTests.Keys | ForEach-Object {

0 commit comments

Comments
 (0)