< Summary

Class:EventsSubSectionComponentView
Assembly:ExploreV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/Sections/PlacesAndEventsSection/SubSections/EventsSubSection/EventsSubSectionMenu/EventsSubSectionComponentView.cs
Covered lines:140
Uncovered lines:79
Coverable lines:219
Total lines:489
Line coverage:63.9% (140 of 219)
Covered branches:0
Total branches:0
Covered methods:37
Total methods:52
Method coverage:71.1% (37 of 52)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
EventsSubSectionComponentView()0%110100%
SetAllAsLoading()0%2100%
Awake()0%110100%
Start()0%22094.74%
OnEnable()0%22092.31%
SetIsGuestUser(...)0%2100%
SetCategories(...)0%6200%
Dispose()0%220100%
SetActive(...)0%220100%
ConfigurePools()0%110100%
RefreshControl()0%2100%
SetAllEventGroupsAsLoading()0%2100%
SetFeaturedEventsGroupAsLoading()0%110100%
SetEventsGroupAsLoading(...)0%110100%
SetShowMoreEventsButtonActive(...)0%110100%
ShowEventModal(...)0%110100%
HideEventModal()0%220100%
RestartScrollViewPosition()0%2100%
SetEvents(...)0%110100%
SetEvents(...)0%660100%
AddEvents(...)0%110100%
SetEventsAsync()0%6.976070%
SetFeaturedEvents(...)0%110100%
SetFeaturedEventsAsync()0%6.976070%
UpdateCardsVisual()0%220100%
<UpdateCardsVisual()0%14.957045.45%
LoadFrequencyDropdown()0%110100%
SetFeaturedStatus(...)0%330100%
SetTrendingStatus(...)0%330100%
SetWantToGoStatus(...)0%330100%
ClickedOnFeatured()0%12300%
ClickedOnTrending()0%12300%
ClickedOnWantToGo()0%12300%
OnFrequencyFilterChanged(...)0%12300%
OnCategoryFilterChanged(...)0%12300%
OnTimeFilterChanged(...)0%6200%
ConvertToTimeString(...)0%110100%
SetFrequencyDropdownValue(...)0%110100%
SetCategoryDropdownValue(...)0%110100%
DeselectButtons()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/ExploreV2/Scripts/Sections/PlacesAndEventsSection/SubSections/EventsSubSection/EventsSubSectionMenu/EventsSubSectionComponentView.cs

#LineLine coverage
 1using DCL;
 2using System;
 3using System.Collections.Generic;
 4using System.Threading;
 5using Cysharp.Threading.Tasks;
 6using DCL.Tasks;
 7using UIComponents.Scripts.Components.RangeSlider;
 8using UnityEngine;
 9using UnityEngine.EventSystems;
 10using UnityEngine.UI;
 11
 12public class EventsSubSectionComponentView : BaseComponentView, IEventsSubSectionComponentView
 13{
 14    internal const string FEATURED_EVENT_CARDS_POOL_NAME = "Events_FeaturedEventCardsPool";
 15    private const int FEATURED_EVENT_CARDS_POOL_PREWARM = 10;
 16    private const string EVENT_CARDS_POOL_NAME = "Events_EventCardsPool";
 17    private const int EVENT_CARDS_POOL_PREWARM = 9;
 18    private const string ALL_FILTER_ID = "all";
 19    private const string ALL_FILTER_TEXT = "All";
 20    private const string ONE_TIME_EVENT_FREQUENCY_FILTER_ID = "one_time_event";
 21    private const string ONE_TIME_EVENT_FREQUENCY_FILTER_TEXT = "One time event";
 22    private const string RECURRING_EVENT_FREQUENCY_FILTER_ID = "recurring_event";
 23    private const string RECURRING_EVENT_FREQUENCY_FILTER_TEXT = "Recurring event";
 24    private const float TIME_MIN_VALUE = 0;
 25    private const float TIME_MAX_VALUE = 48;
 26
 5427    private readonly Queue<Func<UniTask>> cardsVisualUpdateBuffer = new ();
 5428    private readonly Queue<Func<UniTask>> poolsPrewarmAsyncsBuffer = new ();
 29    private CancellationTokenSource cancellationTokenSource;
 30    private CancellationTokenSource featuredEventsCancellationTokenSource;
 31
 32    [Header("Assets References")]
 33    [SerializeField] internal EventCardComponentView eventCardPrefab;
 34    [SerializeField] internal EventCardComponentView eventCardLongPrefab;
 35    [SerializeField] internal EventCardComponentView eventCardModalPrefab;
 36
 37    [Header("Prefab References")]
 38    [SerializeField] internal ScrollRect scrollView;
 39    [SerializeField] internal CarouselComponentView featuredEvents;
 40    [SerializeField] internal GameObject featuredEventsLoading;
 41    [SerializeField] internal GridContainerComponentView eventsGrid;
 42    [SerializeField] internal GameObject eventsLoading;
 43    [SerializeField] internal GameObject eventsNoDataContainer;
 44    [SerializeField] internal GameObject showMoreEventsButtonContainer;
 45    [SerializeField] internal ButtonComponentView showMoreEventsButton;
 46    [SerializeField] internal GameObject guestGoingToPanel;
 47    [SerializeField] internal ButtonComponentView connectWalletGuest;
 48
 49    [SerializeField] internal Button featuredButton;
 50    [SerializeField] internal GameObject featuredDeselected;
 51    [SerializeField] internal Image featuredDeselectedImage;
 52    [SerializeField] internal GameObject featuredSelected;
 53    [SerializeField] internal Image featuredSelectedImage;
 54    [SerializeField] internal Button trendingButton;
 55    [SerializeField] internal GameObject trendingDeselected;
 56    [SerializeField] internal Image trendingDeselectedImage;
 57    [SerializeField] internal GameObject trendingSelected;
 58    [SerializeField] internal Image trendingSelectedImage;
 59    [SerializeField] internal Button wantToGoButton;
 60    [SerializeField] internal GameObject wantToGoDeselected;
 61    [SerializeField] internal Image wantToGoDeselectedImage;
 62    [SerializeField] internal GameObject wantToGoSelected;
 63    [SerializeField] internal Image wantToGoSelectedImage;
 64    [SerializeField] internal DropdownComponentView frequencyDropdown;
 65    [SerializeField] internal DropdownComponentView categoriesDropdown;
 66    [SerializeField] internal DropdownWithRangeSliderComponentView timeDropdown;
 67
 68    [SerializeField] private Canvas canvas;
 69
 70    internal Pool featuredEventCardsPool;
 71    internal Pool eventCardsPool;
 72
 73    internal EventCardComponentView eventModal;
 74
 75    private Canvas eventsCanvas;
 76
 77    private bool isUpdatingCardsVisual;
 78    private bool isGuest;
 79
 080    public int currentEventsPerRow => eventsGrid.currentItemsPerRow;
 81
 082    public void SetAllAsLoading() => SetAllEventGroupsAsLoading();
 83
 084    public int CurrentTilesPerRow => currentEventsPerRow;
 85
 5586    public EventsType SelectedEventType { get; private set; }
 5487    public string SelectedFrequency { get; private set; }
 5488    public string SelectedCategory { get; private set; }
 5489    public float SelectedLowTime { get; private set; }
 5490    public float SelectedHighTime { get; private set; }
 91
 92    public event Action OnReady;
 93    public event Action<EventCardComponentModel> OnInfoClicked;
 94    public event Action<EventFromAPIModel> OnJumpInClicked;
 95    public event Action<string, bool> OnSubscribeEventClicked;
 96    public event Action<string, bool> OnUnsubscribeEventClicked;
 97    public event Action OnShowMoreEventsClicked;
 98    public event Action OnConnectWallet;
 99    public event Action OnEventsSubSectionEnable;
 100    public event Action OnEventTypeFiltersChanged;
 101    public event Action OnEventFrequencyFilterChanged;
 102    public event Action OnEventCategoryFilterChanged;
 103    public event Action OnEventTimeFilterChanged;
 104
 105    public override void Awake()
 106    {
 51107        base.Awake();
 51108        cancellationTokenSource = cancellationTokenSource.SafeRestart();
 51109        featuredEventsCancellationTokenSource = featuredEventsCancellationTokenSource.SafeRestart();
 51110        eventsCanvas = eventsGrid.GetComponent<Canvas>();
 51111        guestGoingToPanel.SetActive(false);
 51112    }
 113
 114    public void Start()
 115    {
 45116        LoadFrequencyDropdown();
 117
 45118        eventModal = PlacesAndEventsCardsFactory.GetEventCardTemplateHiddenLazy(eventCardModalPrefab);
 119
 45120        featuredEvents.RemoveItems();
 45121        eventsGrid.RemoveItems();
 122
 45123        showMoreEventsButton.onClick.RemoveAllListeners();
 45124        showMoreEventsButton.onClick.AddListener(() => OnShowMoreEventsClicked?.Invoke());
 45125        connectWalletGuest.onClick.RemoveAllListeners();
 45126        connectWalletGuest.onClick.AddListener(() => OnConnectWallet?.Invoke());
 127
 45128        featuredButton.onClick.RemoveAllListeners();
 45129        featuredButton.onClick.AddListener(ClickedOnFeatured);
 45130        trendingButton.onClick.RemoveAllListeners();
 45131        trendingButton.onClick.AddListener(ClickedOnTrending);
 45132        wantToGoButton.onClick.RemoveAllListeners();
 45133        wantToGoButton.onClick.AddListener(ClickedOnWantToGo);
 45134        frequencyDropdown.OnOptionSelectionChanged += OnFrequencyFilterChanged;
 45135        categoriesDropdown.OnOptionSelectionChanged += OnCategoryFilterChanged;
 45136        timeDropdown.OnValueChanged.AddListener(OnTimeFilterChanged);
 137
 45138        OnReady?.Invoke();
 0139    }
 140
 141    public override void OnEnable()
 142    {
 54143        SelectedEventType = EventsType.Upcoming;
 54144        SetFeaturedStatus(false);
 54145        SetTrendingStatus(false);
 54146        SetWantToGoStatus(false);
 54147        SetFrequencyDropdownValue(ALL_FILTER_ID, ALL_FILTER_TEXT, false);
 54148        SetCategoryDropdownValue(ALL_FILTER_ID, ALL_FILTER_TEXT, false);
 54149        SelectedLowTime = TIME_MIN_VALUE;
 54150        SelectedHighTime = TIME_MAX_VALUE;
 54151        timeDropdown.SetWholeNumbers(true);
 54152        timeDropdown.SetValues(TIME_MIN_VALUE, TIME_MAX_VALUE);
 54153        timeDropdown.SetTitle($"{ConvertToTimeString(TIME_MIN_VALUE)} - {ConvertToTimeString(TIME_MAX_VALUE)} (UTC)");
 154
 54155        OnEventsSubSectionEnable?.Invoke();
 0156    }
 157
 158    public void SetIsGuestUser(bool isGuestUser)
 159    {
 0160        isGuest = isGuestUser;
 0161    }
 162
 163    public void SetCategories(List<ToggleComponentModel> categories)
 164    {
 0165        if (categories.Count == 0)
 0166            return;
 167
 0168        categoriesDropdown.SetOptions(categories);
 0169        SetCategoryDropdownValue(categories[0].id, categories[0].text, false);
 0170    }
 171
 172    public override void Dispose()
 173    {
 110174        base.Dispose();
 110175        cancellationTokenSource.SafeCancelAndDispose();
 110176        featuredEventsCancellationTokenSource.SafeCancelAndDispose();
 177
 110178        showMoreEventsButton.onClick.RemoveAllListeners();
 179
 110180        frequencyDropdown.OnOptionSelectionChanged -= OnFrequencyFilterChanged;
 110181        categoriesDropdown.OnOptionSelectionChanged -= OnCategoryFilterChanged;
 110182        timeDropdown.OnValueChanged.RemoveAllListeners();
 183
 110184        featuredEvents.Dispose();
 110185        eventsGrid.Dispose();
 186
 110187        if (eventModal != null)
 188        {
 74189            eventModal.Dispose();
 74190            Destroy(eventModal.gameObject);
 191        }
 110192    }
 193
 194    public void SetActive(bool isActive)
 195    {
 81196        canvas.enabled = isActive;
 197
 81198        if (isActive)
 3199            OnEnable();
 200        else
 78201            OnDisable();
 78202    }
 203
 204    public void ConfigurePools()
 205    {
 14206        featuredEventCardsPool = PlacesAndEventsCardsFactory.GetCardsPoolLazy(FEATURED_EVENT_CARDS_POOL_NAME, eventCardL
 14207        eventCardsPool = PlacesAndEventsCardsFactory.GetCardsPoolLazy(EVENT_CARDS_POOL_NAME, eventCardPrefab, EVENT_CARD
 14208    }
 209
 210    public override void RefreshControl()
 211    {
 0212        featuredEvents.RefreshControl();
 0213        eventsGrid.RefreshControl();
 0214    }
 215
 216    public void SetAllEventGroupsAsLoading()
 217    {
 0218        SetFeaturedEventsGroupAsLoading();
 0219        SetEventsGroupAsLoading(isVisible: true, eventsCanvas, eventsLoading);
 0220        eventsNoDataContainer.SetActive(false);
 0221    }
 222
 223    internal void SetFeaturedEventsGroupAsLoading()
 224    {
 1225        featuredEvents.gameObject.SetActive(false);
 1226        featuredEventsLoading.SetActive(true);
 1227    }
 228
 229    public void SetEventsGroupAsLoading(bool isVisible, Canvas gridCanvas, GameObject loadingBar)
 230    {
 3231        gridCanvas.enabled = !isVisible;
 3232        loadingBar.SetActive(isVisible);
 3233    }
 234
 235    public void SetShowMoreEventsButtonActive(bool isActive) =>
 2236        showMoreEventsButtonContainer.gameObject.SetActive(isActive);
 237
 238    public void ShowEventModal(EventCardComponentModel eventInfo)
 239    {
 1240        eventModal.Show();
 1241        EventsCardsConfigurator.Configure(eventModal, eventInfo, OnInfoClicked, OnJumpInClicked, OnSubscribeEventClicked
 1242    }
 243
 244    public void HideEventModal()
 245    {
 1246        if (eventModal != null)
 1247            eventModal.Hide();
 1248    }
 249
 250    public void RestartScrollViewPosition() =>
 0251        scrollView.verticalNormalizedPosition = 1;
 252
 253    public void SetEvents(List<EventCardComponentModel> events) =>
 1254        SetEvents(events, eventsGrid, eventsCanvas, eventCardsPool, eventsLoading);
 255
 256    private void SetEvents(List<EventCardComponentModel> events, GridContainerComponentView eventsGrid, Canvas gridCanva
 257    {
 1258        SetEventsGroupAsLoading(false, gridCanvas, loadingBar);
 1259        eventsNoDataContainer.gameObject.SetActive(events.Count == 0);
 1260        eventsNoDataContainer.gameObject.SetActive(events.Count == 0 && !(SelectedEventType == EventsType.WantToGo && is
 1261        guestGoingToPanel.SetActive(SelectedEventType == EventsType.WantToGo && isGuest);
 262
 1263        eventCardsPool.ReleaseAll();
 264
 1265        eventsGrid.ExtractItems();
 1266        eventsGrid.RemoveItems();
 267
 1268        cancellationTokenSource = cancellationTokenSource.SafeRestart();
 1269        cardsVisualUpdateBuffer.Clear();
 1270        isUpdatingCardsVisual = false;
 2271        cardsVisualUpdateBuffer.Enqueue(() => SetEventsAsync(events, eventsGrid, eventCardsPool, cancellationTokenSource
 1272        UpdateCardsVisual();
 1273    }
 274
 275    public void AddEvents(List<EventCardComponentModel> events)
 276    {
 2277        cardsVisualUpdateBuffer.Enqueue(() => SetEventsAsync(events, eventsGrid, eventCardsPool, cancellationTokenSource
 1278        UpdateCardsVisual();
 1279    }
 280
 281    private async UniTask SetEventsAsync(List<EventCardComponentModel> events, GridContainerComponentView eventsGrid, Po
 282    {
 10283        foreach (EventCardComponentModel eventInfo in events)
 284        {
 4285            eventsGrid.AddItem(
 286                PlacesAndEventsCardsFactory.CreateConfiguredEventCard(pool, eventInfo, OnInfoClicked, OnJumpInClicked, O
 287
 12288            await UniTask.NextFrame(cancellationToken);
 289        }
 290
 0291        eventsGrid.SetItemSizeForModel();
 0292        poolsPrewarmAsyncsBuffer.Enqueue(() => pool.PrewarmAsync(events.Count, cancellationToken));
 0293    }
 294
 295    public void SetFeaturedEvents(List<EventCardComponentModel> events)
 296    {
 1297        featuredEventsLoading.SetActive(false);
 1298        featuredEvents.gameObject.SetActive(events.Count > 0);
 299
 1300        featuredEventCardsPool.ReleaseAll();
 301
 1302        featuredEvents.ExtractItems();
 303
 1304        featuredEventsCancellationTokenSource = featuredEventsCancellationTokenSource.SafeRestart();
 1305        SetFeaturedEventsAsync(events, featuredEventsCancellationTokenSource.Token).Forget();
 1306    }
 307
 308    private async UniTask SetFeaturedEventsAsync(List<EventCardComponentModel> events, CancellationToken cancellationTok
 309    {
 5310        foreach (EventCardComponentModel eventInfo in events)
 311        {
 2312            featuredEvents.AddItem(
 313                PlacesAndEventsCardsFactory.CreateConfiguredEventCard(featuredEventCardsPool, eventInfo, OnInfoClicked, 
 314
 6315            await UniTask.NextFrame(cancellationToken);
 316        }
 317
 0318        featuredEvents.SetManualControlsActive();
 0319        featuredEvents.GenerateDotsSelector();
 0320    }
 321
 322    private void UpdateCardsVisual()
 323    {
 2324        if (!isUpdatingCardsVisual)
 2325            ShowCardsProcess().Forget();
 326
 327        async UniTask ShowCardsProcess()
 328        {
 2329            isUpdatingCardsVisual = true;
 330
 2331            while (cardsVisualUpdateBuffer.Count > 0)
 6332                await cardsVisualUpdateBuffer.Dequeue().Invoke();
 333
 0334            while (poolsPrewarmAsyncsBuffer.Count > 0)
 0335                await poolsPrewarmAsyncsBuffer.Dequeue().Invoke();
 336
 0337            isUpdatingCardsVisual = false;
 0338        }
 2339    }
 340
 341    private void LoadFrequencyDropdown()
 342    {
 45343        List<ToggleComponentModel> valuesToAdd = new List<ToggleComponentModel>
 344        {
 345            new () { id = ALL_FILTER_ID, text = ALL_FILTER_TEXT, isOn = true, isTextActive = true, changeTextColorOnSele
 346            new () { id = ONE_TIME_EVENT_FREQUENCY_FILTER_ID, text = ONE_TIME_EVENT_FREQUENCY_FILTER_TEXT, isOn = false,
 347            new () { id = RECURRING_EVENT_FREQUENCY_FILTER_ID, text = RECURRING_EVENT_FREQUENCY_FILTER_TEXT, isOn = fals
 348        };
 349
 45350        frequencyDropdown.SetTitle(valuesToAdd[0].text);
 45351        frequencyDropdown.SetOptions(valuesToAdd);
 45352    }
 353
 354    private void SetFeaturedStatus(bool isSelected)
 355    {
 54356        featuredButton.targetGraphic = isSelected ? featuredSelectedImage : featuredDeselectedImage;
 54357        featuredDeselected.SetActive(!isSelected);
 54358        featuredSelected.SetActive(isSelected);
 54359    }
 360
 361    private void SetTrendingStatus(bool isSelected)
 362    {
 54363        trendingButton.targetGraphic = isSelected ? trendingSelectedImage : trendingDeselectedImage;
 54364        trendingDeselected.SetActive(!isSelected);
 54365        trendingSelected.SetActive(isSelected);
 54366    }
 367
 368    private void SetWantToGoStatus(bool isSelected)
 369    {
 54370        wantToGoButton.targetGraphic = isSelected ? wantToGoSelectedImage : wantToGoDeselectedImage;
 54371        wantToGoDeselected.SetActive(!isSelected);
 54372        wantToGoSelected.SetActive(isSelected);
 54373    }
 374
 375    private void ClickedOnFeatured()
 376    {
 0377        DeselectButtons();
 378
 0379        if (SelectedEventType == EventsType.Featured)
 380        {
 0381            SelectedEventType = EventsType.Upcoming;
 0382            SetFeaturedStatus(false);
 383        }
 384        else
 385        {
 0386            SelectedEventType = EventsType.Featured;
 0387            SetFeaturedStatus(true);
 0388            SetTrendingStatus(false);
 0389            SetWantToGoStatus(false);
 390        }
 391
 0392        OnEventTypeFiltersChanged?.Invoke();
 0393    }
 394
 395    private void ClickedOnTrending()
 396    {
 0397        DeselectButtons();
 398
 0399        if (SelectedEventType == EventsType.Trending)
 400        {
 0401            SelectedEventType = EventsType.Upcoming;
 0402            SetTrendingStatus(false);
 403        }
 404        else
 405        {
 0406            SelectedEventType = EventsType.Trending;
 0407            SetTrendingStatus(true);
 0408            SetFeaturedStatus(false);
 0409            SetWantToGoStatus(false);
 410        }
 411
 0412        OnEventTypeFiltersChanged?.Invoke();
 0413    }
 414
 415    private void ClickedOnWantToGo()
 416    {
 0417        DeselectButtons();
 418
 0419        if (SelectedEventType == EventsType.WantToGo)
 420        {
 0421            SelectedEventType = EventsType.Upcoming;
 0422            SetWantToGoStatus(false);
 423        }
 424        else
 425        {
 0426            SelectedEventType = EventsType.WantToGo;
 0427            SetWantToGoStatus(true);
 0428            SetFeaturedStatus(false);
 0429            SetTrendingStatus(false);
 430        }
 431
 0432        OnEventTypeFiltersChanged?.Invoke();
 0433    }
 434
 435    private void OnFrequencyFilterChanged(bool isOn, string optionId, string optionName)
 436    {
 0437        if (!isOn)
 0438            return;
 439
 0440        SetFrequencyDropdownValue(optionId, optionName, false);
 0441        OnEventFrequencyFilterChanged?.Invoke();
 0442    }
 443
 444    private void OnCategoryFilterChanged(bool isOn, string optionId, string optionName)
 445    {
 0446        if (!isOn)
 0447            return;
 448
 0449        SetCategoryDropdownValue(optionId, optionName, false);
 0450        OnEventCategoryFilterChanged?.Invoke();
 0451    }
 452
 453    private void OnTimeFilterChanged(float lowValue, float highValue)
 454    {
 0455        SelectedLowTime = lowValue;
 0456        SelectedHighTime = highValue;
 0457        timeDropdown.SetTitle($"{ConvertToTimeString(lowValue)} - {ConvertToTimeString(highValue)} (UTC)");
 0458        OnEventTimeFilterChanged?.Invoke();
 0459    }
 460
 461    private static string ConvertToTimeString(float hours)
 462    {
 108463        var wholeHours = (int)(hours / 2);
 108464        int minutes = (int)(hours % 2) * 30;
 108465        return $"{wholeHours:D2}:{minutes:D2}";
 466    }
 467
 468    private void SetFrequencyDropdownValue(string id, string title, bool notify)
 469    {
 54470        SelectedFrequency = id;
 54471        frequencyDropdown.SetTitle(title);
 54472        frequencyDropdown.SelectOption(id, notify);
 54473    }
 474
 475    private void SetCategoryDropdownValue(string id, string title, bool notify)
 476    {
 54477        SelectedCategory = id;
 54478        categoriesDropdown.SetTitle(title);
 54479        categoriesDropdown.SelectOption(id, notify);
 54480    }
 481
 482    private static void DeselectButtons()
 483    {
 0484        if (EventSystem.current == null)
 0485            return;
 486
 0487        EventSystem.current.SetSelectedGameObject(null);
 0488    }
 489}

Methods/Properties

EventsSubSectionComponentView()
currentEventsPerRow()
SetAllAsLoading()
CurrentTilesPerRow()
SelectedEventType()
SelectedEventType(EventsType)
SelectedFrequency()
SelectedFrequency(System.String)
SelectedCategory()
SelectedCategory(System.String)
SelectedLowTime()
SelectedLowTime(System.Single)
SelectedHighTime()
SelectedHighTime(System.Single)
Awake()
Start()
OnEnable()
SetIsGuestUser(System.Boolean)
SetCategories(System.Collections.Generic.List[ToggleComponentModel])
Dispose()
SetActive(System.Boolean)
ConfigurePools()
RefreshControl()
SetAllEventGroupsAsLoading()
SetFeaturedEventsGroupAsLoading()
SetEventsGroupAsLoading(System.Boolean, UnityEngine.Canvas, UnityEngine.GameObject)
SetShowMoreEventsButtonActive(System.Boolean)
ShowEventModal(EventCardComponentModel)
HideEventModal()
RestartScrollViewPosition()
SetEvents(System.Collections.Generic.List[EventCardComponentModel])
SetEvents(System.Collections.Generic.List[EventCardComponentModel], GridContainerComponentView, UnityEngine.Canvas, DCL.Pool, UnityEngine.GameObject)
AddEvents(System.Collections.Generic.List[EventCardComponentModel])
SetEventsAsync()
SetFeaturedEvents(System.Collections.Generic.List[EventCardComponentModel])
SetFeaturedEventsAsync()
UpdateCardsVisual()
<UpdateCardsVisual()
LoadFrequencyDropdown()
SetFeaturedStatus(System.Boolean)
SetTrendingStatus(System.Boolean)
SetWantToGoStatus(System.Boolean)
ClickedOnFeatured()
ClickedOnTrending()
ClickedOnWantToGo()
OnFrequencyFilterChanged(System.Boolean, System.String, System.String)
OnCategoryFilterChanged(System.Boolean, System.String, System.String)
OnTimeFilterChanged(System.Single, System.Single)
ConvertToTimeString(System.Single)
SetFrequencyDropdownValue(System.String, System.String, System.Boolean)
SetCategoryDropdownValue(System.String, System.String, System.Boolean)
DeselectButtons()