Starting...
Status: k_EItemUpdateStatusPreparingConfig 0 / 0
Status: k_EItemUpdateStatusPreparingConfig 0 / 0
Status: k_EItemUpdateStatusPreparingConfig 0 / 0
Status: k_EItemUpdateStatusPreparingContent 0 / 0
Status: k_EItemUpdateStatusPreparingContent 0 / 0
Status: k_EItemUpdateStatusPreparingContent 0 / 0
Status: k_EItemUpdateStatusPreparingContent 0 / 0
Status: k_EItemUpdateStatusPreparingContent 164984 / 206594
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 0
Status: k_EItemUpdateStatusUploadingContent 0 / 535
Status: k_EItemUpdateStatusUploadingContent 0 / 535
Status: k_EItemUpdateStatusUploadingContent 0 / 535
Status: k_EItemUpdateStatusUploadingContent 0 / 535
Status: k_EItemUpdateStatusUploadingContent 535 / 535
Status: k_EItemUpdateStatusUploadingContent 535 / 535
Status: k_EItemUpdateStatusUploadingContent 535 / 535
Status: k_EItemUpdateStatusUploadingContent 535 / 535
Status: k_EItemUpdateStatusUploadingContent 535 / 535
Status: k_EItemUpdateStatusInvalid 0 / 0
Uploading item failed. File not found!
Finished...
Yeah sure you can get it here https://www.nexusmods.com/mountandblade2bannerlord/mods/1033 or https://www.reasontech.fr/bannerlord/UsefulCompanions/UsefulCompanions-f102.zip
public Settlement TradeBound
{
get
{
if (!this._bound.IsTown)
{
return this._tradeBound;
}
return this._bound;
}
internal set // <-------------------------------------------------- this here
{
if (this._tradeBound != value && !this._bound.IsTown)
{
Settlement tradeBound = this._tradeBound;
if (tradeBound != null)
{
tradeBound.Town.RemoveTradeBoundVillageInternal(this);
}
this._tradeBound = value;
Settlement tradeBound2 = this._tradeBound;
if (tradeBound2 == null)
{
return;
}
tradeBound2.Town.SetTradeBoundVillageInternal(this);
}
}
}
CampaignBehaviorManager witch manages all the data collected in the various behaviors with two methods OnBeforeSave() and OnGameLoaded() obviously the names are self explanatory.CampaignBehaviorDataStore.SaveBehaviorData(campaignBehavior). Here my behavior is in the dic and the method is correctly called on him. On a comment, putting a string id as you asked is a bit useless as it already have a unique name including the prefix of my mod. So unless you start to call all your behaviors UCsomething it's unlikely i'll have any issues with this OnGameLoaded() with DNspy got me the values i saved correctly with my old methods pre 1.7.1.private List<CampaignBehaviorBase> _campaignBehaviors; and since you make a foreach on this list to run syncdata that explains why my syncdata are constantly skipped.SetBehaviors(IEnumerable<CampaignBehaviorBase> inputComponents) seem to also miss them completely and list only basegame behaviors.
AddBehavior(CampaignBehaviorBase campaignBehavior), seriously ... So now loading happens earlier in the loading process and will mess a bit more with all it's phases. When will we have a proper documentation about things like this? When will you correctly communicate on so sensible changes? I mean come on, it's how to set up a mod properly and we have not a single word about how to use it properly.