Skip to content

Commit e34644b

Browse files
committed
Update version to handle logging changes
1 parent 29c733b commit e34644b

5 files changed

Lines changed: 37 additions & 29 deletions

File tree

MonkeyLoader.Unity.Integration/MonkeyLoader.GamePacks.Unity.Debug.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata>
44
<id>MonkeyLoader.GamePacks.Unity</id>
5-
<version>0.4.0-beta</version>
5+
<version>0.5.0-beta</version>
66
<title>Unity GamePack</title>
77
<authors>Banane9</authors>
88
<owners>Banane9</owners>
@@ -20,7 +20,7 @@
2020

2121
<dependencies>
2222
<group targetFramework=".NETFramework4.6.2">
23-
<dependency id="MonkeyLoader" version="0.4.0-beta" />
23+
<dependency id="MonkeyLoader" version="0.9.0-beta" />
2424
</group>
2525
</dependencies>
2626
</metadata>

MonkeyLoader.Unity.Integration/MonkeyLoader.GamePacks.Unity.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
33
<metadata>
44
<id>MonkeyLoader.GamePacks.Unity</id>
5-
<version>0.4.0-beta</version>
5+
<version>0.5.0-beta</version>
66
<title>Unity GamePack</title>
77
<authors>Banane9</authors>
88
<owners>Banane9</owners>
@@ -20,7 +20,7 @@
2020

2121
<dependencies>
2222
<group targetFramework=".NETFramework4.6.2">
23-
<dependency id="MonkeyLoader" version="0.4.0-beta" />
23+
<dependency id="MonkeyLoader" version="0.9.0-beta" />
2424
</group>
2525
</dependencies>
2626
</metadata>

MonkeyLoader.Unity.Integration/MonkeyLoader.Unity.Integration.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFramework>net472</TargetFramework>
4-
<Version>0.4.0-beta</Version>
4+
<Version>0.5.0-beta</Version>
55
<AssemblyTitle>MonkeyLoader.Unity.Integration</AssemblyTitle>
66
<AssemblyFileName>$(AssemblyTitle).dll</AssemblyFileName>
77
<RootNamespace>MonkeyLoader.Unity</RootNamespace>
@@ -14,7 +14,7 @@
1414
</Target>
1515

1616
<ItemGroup>
17-
<PackageReference Include="MonkeyLoader" Version="0.5.0-beta" />
17+
<PackageReference Include="MonkeyLoader" Version="0.9.0-beta" />
1818
<PackageReference Include="PolySharp" Version="1.14.1">
1919
<PrivateAssets>all</PrivateAssets>
2020
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

MonkeyLoader.Unity.Integration/UnityHooks.cs

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,44 +13,52 @@ namespace MonkeyLoader.Unity
1313
{
1414
internal sealed class UnityHooks : Monkey<UnityHooks>
1515
{
16-
private static IUnityMonkeyInternal[] UnityMonkeys
17-
{
18-
get
19-
{
20-
var monkeys = Mod.Loader.Mods
21-
.GetMonkeysAscending()
22-
.SelectCastable<IMonkey, IUnityMonkeyInternal>()
23-
.ToArray();
24-
25-
return monkeys;
26-
}
27-
}
16+
private Scene _firstScene;
2817

2918
protected override IEnumerable<IFeaturePatch> GetFeaturePatches() => Enumerable.Empty<IFeaturePatch>();
3019

3120
protected override bool OnLoaded()
3221
{
33-
SceneManager.sceneLoaded += SceneManager_sceneLoaded;
22+
SceneManager.sceneLoaded += OnFirstSceneReady;
3423
Application.quitting += () => Mod.Loader.Shutdown();
3524

3625
return true;
3726
}
3827

39-
private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode sceneMode)
28+
private void LateRunFirstSceneReady(MonkeyLoader loader, IEnumerable<Mod> mods)
29+
{
30+
Logger.Info(() => "New mods were loaded! Executing OnFirstSceneReady hooks on UnityMonkeys!");
31+
32+
RunFirstSceneReadyHooks(mods);
33+
}
34+
35+
private void OnFirstSceneReady(Scene scene, LoadSceneMode sceneMode)
4036
{
41-
Info(() => "First Scene Loaded! Executing OnFirstSceneReady hooks on UnityMonkeys!");
37+
_firstScene = scene;
38+
SceneManager.sceneLoaded -= OnFirstSceneReady;
39+
40+
Mod.Loader.ModsRan += LateRunFirstSceneReady;
41+
Logger.Info(() => "First Scene Loaded! Executing OnFirstSceneReady hooks on UnityMonkeys!");
42+
43+
RunFirstSceneReadyHooks(Mod.Loader.Mods);
44+
}
45+
46+
private void RunFirstSceneReadyHooks(IEnumerable<Mod> mods)
47+
{
48+
var unityMonkeys = mods
49+
.GetMonkeysAscending()
50+
.SelectCastable<IMonkey, IUnityMonkeyInternal>()
51+
.ToArray();
4252

43-
var unityMonkeys = UnityMonkeys;
4453
Logger.Trace(() => "Running FirstSceneReady hooks in this order:");
4554
Logger.Trace(unityMonkeys.Select(uM => new Func<object>(() => $"{uM.Mod.Title}/{uM.Name}")));
4655

47-
SceneManager.sceneLoaded -= SceneManager_sceneLoaded;
4856
var sw = Stopwatch.StartNew();
4957

5058
foreach (var unityMonkey in unityMonkeys)
51-
unityMonkey.FirstSceneReady(scene);
59+
unityMonkey.FirstSceneReady(_firstScene);
5260

53-
Info(() => $"Done executing OnFirstSceneReady hooks on UnityMonkeys in {sw.ElapsedMilliseconds}ms!");
61+
Logger.Info(() => $"Done executing OnFirstSceneReady hooks on UnityMonkeys in {sw.ElapsedMilliseconds}ms!");
5462
}
5563
}
5664
}

MonkeyLoader.Unity.Integration/UnityMonkey.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,28 +57,28 @@ bool IUnityMonkeyInternal.FirstSceneReady(Scene scene)
5757
{
5858
if (Failed)
5959
{
60-
Warn(() => "Monkey already failed Run, skipping OnFirstSceneReady!");
60+
Logger.Warn(() => "Monkey already failed Run, skipping OnFirstSceneReady!");
6161
return false;
6262
}
6363

6464
if (FirstSceneReadyRan)
6565
throw new InvalidOperationException("A Unity monkey's OnFirstSceneReady() method must only be called once!");
6666

6767
FirstSceneReadyRan = true;
68-
Debug(() => "Running OnFirstSceneReady");
68+
Logger.Debug(() => "Running OnFirstSceneReady");
6969

7070
try
7171
{
7272
if (!OnFirstSceneReady(scene))
7373
{
7474
FirstSceneReadyFailed = true;
75-
Warn(() => "OnFirstSceneReady failed!");
75+
Logger.Warn(() => "OnFirstSceneReady failed!");
7676
}
7777
}
7878
catch (Exception ex)
7979
{
8080
FirstSceneReadyFailed = true;
81-
Error(() => ex.Format("OnFirstSceneReady threw an Exception:"));
81+
Logger.Error(() => ex.Format("OnFirstSceneReady threw an Exception:"));
8282
}
8383

8484
return !FirstSceneReadyFailed;

0 commit comments

Comments
 (0)