-
Notifications
You must be signed in to change notification settings - Fork 1
/
ResetModeWorld.cs
42 lines (34 loc) · 1.15 KB
/
ResetModeWorld.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using HamstarHelpers.Helpers.Debug;
using HamstarHelpers.Helpers.World;
using ResetMode.Data;
using Terraria.ModLoader;
using Terraria.ModLoader.IO;
namespace ResetMode {
class ResetModeWorld : ModWorld {
public override TagCompound Save() {
var mymod = ResetModeMod.Instance;
mymod.Session.Save();
return base.Save();
}
public override void PreUpdate() {
var mymod = ResetModeMod.Instance;
ResetModeSessionData sessData = mymod.Session?.Data;
if( sessData == null ) {
LogHelpers.WarnOnce( "No session data." );
}
if( sessData.IsRunning ) {
if( !sessData.AwaitingNextWorld ) {
string worldId = WorldHelpers.GetUniqueIdForCurrentWorld(true);
if( sessData.CurrentSessionedWorldId == "" ) {
LogHelpers.WarnOnce( "Invalid world session state - No world id (world id: "+worldId+")\n"
+mymod.Session.DataOnLoad.ToString() );
} else if( sessData.CurrentSessionedWorldId != worldId ) {
LogHelpers.WarnOnce( "Invalid world session state - Mismatched world id "
+"("+sessData.CurrentSessionedWorldId+" vs "+worldId+")\n"
+mymod.Session.DataOnLoad.ToString() );
}
}
}
}
}
}