Skip to content
This repository was archived by the owner on Jul 27, 2022. It is now read-only.

Commit

Permalink
Fixed fav buttons not appearing on avatar favorite lists
Browse files Browse the repository at this point in the history
  • Loading branch information
yobson1 committed May 26, 2022
1 parent f147266 commit 75f7ae1
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 8 deletions.
16 changes: 9 additions & 7 deletions FavCat/Modules/AvatarModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,14 @@ private static Transform GetListsParent()
var randomList = foundAvatarPage.GetComponentInChildren<UiAvatarList>();
return randomList.transform.parent;
}

//protected override void OnFavButtonClicked(StoredCategory storedCategory)
//{
// ApiAvatar currentApiAvatar = myPageAvatar.field_Public_SimpleAvatarPedestal_0.field_Internal_ApiAvatar_0;
// OnFavButtonClicked(storedCategory, currentApiAvatar.id, false);
//}

protected override void OnFavButtonClicked(StoredCategory storedCategory)
{
ApiAvatar currentApiAvatar = myPageAvatar.field_Public_SimpleAvatarPedestal_0.field_Internal_ApiAvatar_0;
OnFavButtonClicked(storedCategory, currentApiAvatar.id, false);
}

protected override bool FavButtonsOnLists => true;

private void OnFavButtonClicked(StoredCategory storedCategory, string avatarId, bool disallowRecursiveRequests)
{
Expand Down Expand Up @@ -100,7 +102,7 @@ private IEnumerator ReFavAfterDelay(StoredCategory category, string id)
OnFavButtonClicked(category, id, true);
}

private void RefreshFavButtons()
protected internal override void RefreshFavButtons()
{
var apiAvatar = myPageAvatar != null ? myPageAvatar.field_Public_SimpleAvatarPedestal_0 != null ? myPageAvatar.field_Public_SimpleAvatarPedestal_0.field_Internal_ApiAvatar_0 : null : null;

Expand Down
9 changes: 8 additions & 1 deletion FavCat/Modules/ExtendedFavoritesModuleBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,11 @@ protected void PlaySound()


protected abstract void OnPickerSelected(IPickerElement picker);
protected abstract void OnFavButtonClicked(StoredCategory storedCategory);
protected abstract bool FavButtonsOnLists { get; }
protected abstract void SortModelList(string sortCriteria, string category, List<(StoredFavorite?, T)> list);
protected abstract IPickerElement WrapModel(StoredFavorite? favorite, T model);
protected internal abstract void RefreshFavButtons();
protected abstract void SearchButtonClicked();

protected bool CanPerformAdditiveActions { get; }
Expand Down Expand Up @@ -99,6 +102,7 @@ protected ExtendedFavoritesModuleBase(ExpandedMenu expandedMenu, DatabaseFavorit
if (PickerLists.TryGetValue(categoryName, out var list))
{
UpdateListElements(categoryName, list);
RefreshFavButtons();
}
};

Expand Down Expand Up @@ -229,6 +233,7 @@ private void CreateCategory()
Favorites.UpdateCategory(newCategory);
CreateList(newCategory);
ReorderLists();
RefreshFavButtons();
}
else
{
Expand Down Expand Up @@ -411,6 +416,7 @@ private async Task FavoriteAll(StoredCategory newCategory)
await TaskUtilities.YieldToMainThread();
CreateList(newCategory);
ReorderLists();
RefreshFavButtons();
}

internal void CreateList(StoredCategory storedCategory)
Expand All @@ -421,7 +427,8 @@ internal void CreateList(StoredCategory storedCategory)
list.SetVisibleRows(storedCategory.VisibleRows);
list.OnModelClick += OnPickerSelected;
list.Category = storedCategory;
list.SetFavButtonVisible(false);
list.OnFavClick += () => OnFavButtonClicked(storedCategory);
list.SetFavButtonVisible(FavButtonsOnLists);
list.OnSettingsClick += () =>
{
myCurrentlySelectedList = list;
Expand Down
11 changes: 11 additions & 0 deletions FavCat/Modules/PlayersModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,17 @@ public void OnPickerSelected(string playerId, GameObject whichObjectToCheck)
}));
}

protected override void OnFavButtonClicked(StoredCategory storedCategory)
{
throw new NotSupportedException(); // not happening
}
protected internal override void RefreshFavButtons()
{
// do nothing
}

protected override bool FavButtonsOnLists => false;

protected override void SortModelList(string sortCriteria, string category, List<(StoredFavorite?, StoredPlayer)> avatars)
{
var inverted = sortCriteria.Length > 0 && sortCriteria[0] == '!';
Expand Down
12 changes: 12 additions & 0 deletions FavCat/Modules/WorldsModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,18 @@ protected override void OnPickerSelected(IPickerElement picker)
}));
}

protected override void OnFavButtonClicked(StoredCategory storedCategory)
{
throw new NotSupportedException(); // not happening
}

protected internal override void RefreshFavButtons()
{
// do nothing
}

protected override bool FavButtonsOnLists => false;

protected override void SortModelList(string sortCriteria, string category, List<(StoredFavorite?, StoredWorld)> avatars)
{
var inverted = sortCriteria.Length > 0 && sortCriteria[0] == '!';
Expand Down

0 comments on commit 75f7ae1

Please sign in to comment.