-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCustomSaveTickerTest.cs
More file actions
58 lines (45 loc) · 1.49 KB
/
CustomSaveTickerTest.cs
File metadata and controls
58 lines (45 loc) · 1.49 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System.Collections.Generic;
using TaleWorlds.CampaignSystem;
using TaleWorlds.SaveSystem;
namespace TestSPMod
{
public class CustomSaveTickerTest : CampaignBehaviorBase
{
public override void RegisterEvents()
{
CampaignEvents.HourlyTickEvent.AddNonSerializedListener(this, onTick);
}
private void onTick()
{
test.Add(Campaign.CurrentTime, new TestSaveAbleClass {myHero = Hero.MainHero,mystring = "TESTTTTTTT"});
}
Dictionary<float, TestSaveAbleClass> test = new Dictionary<float, TestSaveAbleClass>();
public class TestSaveAbleClass
{
[SaveableField(1)] public Hero myHero;
[SaveableField(2)]
public string mystring = "";
}
public class MySaveDefiner : SaveableTypeDefiner
{
public MySaveDefiner() : base(10000001)
{
}
protected override void DefineClassTypes()
{
AddClassDefinition(typeof(TestSaveAbleClass), 1);
}
protected override void DefineContainerDefinitions()
{
ConstructContainerDefinition(typeof (Dictionary<float, TestSaveAbleClass>));
}
}
private void OnSessionLaunched()
{
}
public override void SyncData(IDataStore dataStore)
{
dataStore.SyncData("test", ref test);
}
}
}