예제 #1
0
        public async Task LoadNextInBackground()
        {
            try
            {
                _nextItem = await DisplayQueue.GetNextItemAsync();

                Console.WriteLine($"Loading {_nextItem.Title}, Width:{_nextItem.Width}, Height:{_nextItem.Height}, Rotation:{_nextItem.Rotation}, Orientation:{ _nextItem.Orientation}, CssClass:{_nextItem.CssClass}, ItemType:{_nextItem.ItemType}");
            }
            catch
            {
                Console.WriteLine($"ERROR fetching next item to load.");
            }

            if (_nextItem.ItemType == DisplayItemType.Image)
            {
                SetImageVisibility();
            }

            if (_nextItem.ItemType == DisplayItemType.Video)
            {
                string videoId = SetVideoVisisbility();
                await JS.InvokeVoidAsync("playVideo", videoId, false);
            }

            StateHasChanged();
        }
    // Activating the next item in the queue
    private void ActivateNextItem()
    {
        DisplayQueue dq = m_enumQueue.Dequeue();

        StartCoroutine(dq.action);
        if (dq.secondary != null)
        {
            dq.secondary.Invoke();
        }
    }
예제 #3
0
        private async Task SetInitialItems()
        {
            _imgTop = new DisplayItem {
                CssClass = TRANSPARENT
            };
            _imgBottom = new DisplayItem {
                CssClass = TRANSPARENT
            };
            _videoTop = new DisplayItem {
                CssClass = TRANSPARENT
            };
            _videoBottom = new DisplayItem {
                CssClass = TRANSPARENT
            };

            var firstItem = await DisplayQueue.GetNextItemAsync();

            switch (firstItem.ItemType)
            {
            case DisplayItemType.Image:
                _imgTop          = firstItem;
                _imgTop.CssClass = VISIBLE;
                break;

            case DisplayItemType.Video:
                _videoTop          = firstItem;
                _videoTop.CssClass = VISIBLE;
                await JS.InvokeVoidAsync("playVideo", VIDEO_TOP_ID, true);

                break;

            case DisplayItemType.Weather:
                break;

            default:
                break;
            }

            StateHasChanged();
        }