I have imported UIS v1.1.3. As I have also Dialog System and Quest machine, I have downloaded also the last version in integration section of web page.
But when importing Dialog system integration, I have got this error:
Assets\Pixel Crushers\Common\Third Party Support\Opsive UIS Support\Scripts\SaveSystemManagerNoDisk.cs(49,13): error CS7036: There is no argument given that corresponds to the required formal parameter 'savePriority' of 'SaveSystemManager.OrderSaversByPriority(bool)'
I use the latest version of Dialog System for Unity this is version 2.2.14 and that was already imported in my project at the beginning of this month. I have tried to reimported first this last version and also the last version of UIS integration to see if this fix the issue but the message is always there.
I have no issue when importing Quest machine then I suppose that is correct.
so, in this script SaveSystemManagerNoDisk the call OrderSaversByPriority is performed without parameter but one is required according to SaveSystemManager.
This is an overriden function then as there is no base used I don't know if it should be completely different.
In SaveSystemManagerNoDisk I put false instead of nothing but the fix might be different:
/// <summary>
/// Assume that m_SaveData has been set by the UISSaver using SetCurrentSaveData.
/// Just apply the current m_SaveData.
/// </summary>
protected override void LoadInternal(int saveIndex)
{
if (m_SaveData == null)
{
Debug.LogError($"Cannot load save at index {saveIndex}.");
return;
}
OrderSaversByPriority(false);
for (int i = 0; i < m_Savers.Count; i++)
{
m_Savers.Load();
}
}
And in virtual function of SaveSystemManager:
/// <summary>
/// Load the saved data from the save index provided.
/// </summary>
/// <param name="saveIndex">The save index.</param>
protected virtual void LoadInternal(int saveIndex)
{
if (m_Saves == null || !m_Saves.ContainsKey(saveIndex)) {
Debug.LogError($"Cannot load save at index {saveIndex}.");
return;
}
m_SaveData = new SaveData(m_Saves[saveIndex]);
OrderSaversByPriority(false);
for (int i = 0; i < m_Savers.Count; i++) {
m_Savers.Load();
}
}
The integration with Dialog System requires a little update.
After putting False, of course the issue disappeared. It is not a priority to me as I am not on Saving system for the moment.
I have followed again the video tutorial about UI Desinger and more or less redo my inventory that is poorly customised (a confirmation button before quitting the game need to create nother MainMenu for that... and a raw texture to display my character) but the upgrade is working fine.
Whatever the issue that I met in version 1.1.1 is still present in 1.1.3. So the issue is elsewhere!
By the way, I found a weird setup in demo. The swordPickup has an object called Sword but when you open it it is a shield! There is a mismatch somewhere that makes it work!
Another thing, in the sword prefab, the component Item has no Item Definition assigned. It seems that this is the case in several others items when others have a Item Definition assigned. It is confusing...