Skip to content
This repository was archived by the owner on Oct 11, 2019. It is now read-only.

Commit 2aa72b8

Browse files
improbarobotJonasImprobable
authored andcommitted
Release 3.0.0-rc-01 (#20)
* Release automation for 3.0.0-rc-01 (Core SDK 13.1.0) * Updated release notes for the 3.0.0 release
1 parent a91a871 commit 2aa72b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+232
-633
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Copyright (c) Improbable Worlds Ltd, All Rights Reserved
2+
3+
using Improbable.MinimalBuildSystem.Prefabs;
4+
using UnityEngine;
5+
using UnityEngine.SceneManagement;
6+
using UnityEditor;
7+
using UnityEditor.SceneManagement;
8+
9+
namespace Improbable.Unity.MinimalBuildSystem
10+
{
11+
public static class EditorResourcePreparer
12+
{
13+
[InitializeOnLoadMethod]
14+
static void SetupPlaymodeCallbacks()
15+
{
16+
EditorApplication.playModeStateChanged += PrepareEntityPrefabs;
17+
EditorSceneManager.sceneOpened += SafetyCheckForPlatform;
18+
}
19+
20+
private static void SafetyCheckForPlatform(Scene scene, OpenSceneMode mode)
21+
{
22+
// As the platform is not set by default, show a warning to the user when they still need to change this
23+
var provider = Object.FindObjectOfType<BasicTemplateProvider>();
24+
if (provider != null)
25+
{
26+
var workerPlatform = provider.platform;
27+
if (workerPlatform == 0)
28+
{
29+
Debug.LogWarning("The BasicTemplateProvider instance has an invalid WorkerPlatform set.", provider);
30+
}
31+
}
32+
}
33+
34+
private static void PrepareEntityPrefabs(PlayModeStateChange state)
35+
{
36+
// Only do this when we go from edit mode to play mode
37+
if (state != PlayModeStateChange.ExitingEditMode)
38+
{
39+
return;
40+
}
41+
42+
// Only export if the scene uses a BasicTemplateProvider
43+
var provider = Object.FindObjectOfType<BasicTemplateProvider>();
44+
if (provider != null)
45+
{
46+
47+
// Get worker platform
48+
var workerPlatform = provider.platform;
49+
Debug.LogFormat("Preparing EntityPrefabs for {0}", workerPlatform.ToString());
50+
51+
// Start prefab export
52+
EntityPrefabs.Export(workerPlatform);
53+
}
54+
}
55+
}
56+
}

Assets/Plugins/Improbable/.Modules/MinimalBuildSystem/Editor/EditorResourcePreparer.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Improbable/.Modules/MinimalBuildSystem/Editor/WorkerBuilder.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,25 @@ private static void BuildWorkerForTarget(WorkerPlatform workerPlatform, BuildTar
206206
locationPathName = workerBuildData.BuildScratchDirectory
207207
};
208208

209-
BuildPipeline.BuildPlayer(buildPlayerOptions);
209+
var buildConfigString = string.Format("WorkerPlatform={0};BuildTarget={1};BuildOptions={2}", workerPlatform,
210+
buildTarget, buildOptions);
211+
212+
var buildErrorMessage = BuildPipeline.BuildPlayer(buildPlayerOptions);
213+
214+
#if UNITY_2018_1_OR_NEWER
215+
if (buildErrorMessage.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
216+
{
217+
throw new ApplicationException(string.Format("Failed to build player {0} due to {1} errors", buildConfigString,
218+
buildErrorMessage.summary.totalErrors));
219+
}
220+
#else
221+
if (!string.IsNullOrEmpty(buildErrorMessage))
222+
{
223+
throw new ApplicationException(string.Format("Failed to build player {0} due to {1}", buildConfigString,
224+
buildErrorMessage));
225+
}
226+
#endif
227+
Debug.LogFormat("Built player {0} into {1}", buildConfigString, workerBuildData.BuildScratchDirectory);
210228

211229
var zipPath = Path.GetFullPath(Path.Combine(PlayerBuildDirectory, workerBuildData.PackageName));
212230

Assets/Plugins/Improbable/.Modules/MinimalBuildSystem/Runtime/BasicTemplateProvider.cs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@
22

33
using System;
44
using Improbable.Assets;
5+
using Improbable.Unity;
56
using Improbable.Unity.Assets;
6-
using Improbable.Unity.Configuration;
7-
using Improbable.Unity.Core;
87
using Improbable.Unity.Entity;
98
using UnityEngine;
109

1110
namespace Improbable.MinimalBuildSystem.Prefabs
1211
{
1312
public class BasicTemplateProvider : MonoBehaviour, IEntityTemplateProvider
1413
{
15-
// These can be overridden on the command line.
16-
public bool UseLocalPrefabs = true;
14+
public WorkerPlatform platform;
1715

1816
// The template provider can't be instantiated during construction as Application.isEditor doesn't work.
1917
private IEntityTemplateProvider templateProvider;
@@ -34,26 +32,11 @@ private IEntityTemplateProvider TemplateProvider
3432

3533
private IAssetLoader<GameObject> InitializeAssetLoader()
3634
{
37-
#if UNITY_EDITOR
38-
UseLocalPrefabs =
39-
SpatialOS.Configuration.GetCommandLineValue(CommandLineConfigNames.UseLocalPrefabs, UseLocalPrefabs);
40-
if (UseLocalPrefabs)
41-
{
42-
return new PrefabGameObjectLoader();
43-
}
44-
#endif
4535
return new ResourceGameObjectLoader();
4636
}
4737

4838
private IEntityTemplateProvider InitializeTemplateProvider(IAssetLoader<GameObject> gameObjectLoader)
4939
{
50-
#if UNITY_EDITOR
51-
if (UseLocalPrefabs)
52-
{
53-
return new AssetDatabaseTemplateProvider(
54-
new CachingAssetDatabase(new PreprocessingGameObjectLoader(gameObjectLoader)));
55-
}
56-
#endif
5740
return new AssetDatabaseTemplateProvider(new CachingAssetDatabase(gameObjectLoader));
5841
}
5942

Binary file not shown.

Assets/Plugins/Improbable/Sdk/Dll/Improbable.WorkerSdkCsharp.Framework.dll.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Improbable/Sdk/Dll/Improbable.WorkerSdkCsharp.Framework.xml.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Improbable/Sdk/Dll/Improbable.WorkerSdkCsharp.dll.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Improbable/Sdk/Dll/Improbable.WorkerSdkCsharp.xml.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/Improbable/Sdk/Src/Unity/Configuration/CommandLineConfigNames.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,5 @@ public static class CommandLineConfigNames
1717
public const string MaxAssetLoadingRetries = "maxAssetLoadingRetries";
1818
public const string RefreshToken = "refreshToken";
1919
public const string UseLocalPrefabs = "useLocalPrefabs";
20-
public const string UseExternalIpForBridge = "useExternalIpForBridge";
2120
}
2221
}

0 commit comments

Comments
 (0)