JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
Gallery
Bannerlord Wiki
Bannerlord Wiki
Type
Global Tables
Campaign
More
Share
Explore
Tutorials
Replace GameModel Objects
Credit goes to
https://github.com/calsev/bannerlord_smith_forever/blob/master/ForeverSmithSubModule.cs
Replacement Code for GameModels
protected void ReplaceModel<TBaseType, TChildType>(IGameStarter gameStarterObject)
where TBaseType : GameModel // Defining the Types of those Anything
where TChildType : TBaseType
{
// Checking if List of GameModels
if (!(gameStarterObject.Models is IList<GameModel> models)) // Is defining models this way!
{
return;
}
// Debounce
bool found = false;
for (int index = 0; index < models.Count; ++index) //Iteration
{
if (models[index] is TBaseType) // If TBaseType is found
{
found = true; //Sets debounce to true
if (models[index] is TChildType) // Checks if Child object
{
}
else
{
models[index] = Activator.CreateInstance<TChildType>(); //Creates an Instance of TChildType
// and sets it to the index
}
}
}
if (!found) // Checks if item wasn't found
{
gameStarterObject.AddModel(Activator.CreateInstance<TChildType>());
// Adds model to gameStarterObject
}
}
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
Ctrl
P
) instead.