Ejemplo n.º 1
0
    IEnumerator CreateMyLibraryThumbnails()
    {
        foreach (GameBundleLibrary.Entry entry in gameBundleLibrary.Enumerate())
        {
            GameThumbnail       gameThumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
            GameBundle.Metadata metadata      = entry.bundle.GetMetadata();

            Texture2D texture = entry.bundle.GetThumbnail();
            if (texture != null)
            {
                gameThumbnail.SetThumbnail(texture);
            }
            else
            {
                gameThumbnail.SetThumbnail(placeholderThumbnailTexture);
            }

            if (AutoSaveController.IsAutosave(entry))
            {
                gameThumbnail.SetGameSource(GameDetail.GameSource.Autosave);
            }
            else
            {
                gameThumbnail.SetGameSource(GameDetail.GameSource.Local);
            }
            gameThumbnail.SetName(metadata.name);
            gameThumbnail.OnClick        = () => OpenLibraryEntry(gameThumbnail, entry);
            gameThumbnail.GetWriteTime   = () => GetBundleWriteTime(entry.id);
            gameThumbnail.GetDescription = () => { return(metadata.description); };
            AddThumbnail(gameThumbnail, AutoSaveController.IsAutosave(entry) ? AUTOSAVES : SAVED);
            yield return(null);
        }
    }
Ejemplo n.º 2
0
    IEnumerator GenerateWorkshopThumbnails(List <WorkshopItem> items)
    {
        foreach (WorkshopItem item in items)
        {
            string[] tags = item.SteamNative.m_details.m_rgchTags.Split(',');
            if (tags.Contains(SteamUtil.GameBuilderTags.Asset.ToString()))
            {
                continue;
            }
            GameThumbnail gameThumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
            if (item.PreviewImageURL != null && item.PreviewImageURL.Length > 0)
            {
                gameThumbnail.SetThumbnailUrl(item.PreviewImageURL);
            }
            else
            {
                gameThumbnail.SetThumbnail(placeholderThumbnailTexture);
            }

            gameThumbnail.SetGameSource(GameDetail.GameSource.Workshop);
            gameThumbnail.SetName(item.Name);
            gameThumbnail.OnClick        = () => OpenWorkshopEntry(gameThumbnail, item);
            gameThumbnail.GetWriteTime   = () => GetWorkshopWriteTime(item);
            gameThumbnail.GetDescription = () => { return(item.Description); };
            AddThumbnail(gameThumbnail, WORKSHOP);
            yield return(null);
        }
    }
Ejemplo n.º 3
0
 void AddTutorialThumbnail()
 {
     tutorialThumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
     tutorialThumbnail.SetThumbnail(tutorialGameTexture);
     tutorialThumbnail.SetGameSource(GameDetail.GameSource.Local);
     tutorialThumbnail.SetName("Tutorial");
     tutorialThumbnail.OnClick        = OpenTutorial;
     tutorialThumbnail.GetWriteTime   = () => { return(System.DateTime.Today); };
     tutorialThumbnail.GetDescription = () => { return(""); };
     tutorialThumbnail.SetSortPriorityHint(50);
     AddThumbnail(tutorialThumbnail);
 }
Ejemplo n.º 4
0
 void AddNewThumbnail()
 {
     newThumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
     newThumbnail.SetThumbnail(newGameTexture);
     newThumbnail.SetGameSource(GameDetail.GameSource.Local);
     newThumbnail.SetName("New Game");
     newThumbnail.OnClick        = OpenNew;
     newThumbnail.GetWriteTime   = () => { return(System.DateTime.Today); };
     newThumbnail.GetDescription = () => { return(""); };
     newThumbnail.SetSortPriorityHint(100);
     AddThumbnail(newThumbnail);
 }
Ejemplo n.º 5
0
    void AddNewGameThumbnail()
    {
        string gameName = "New game";

        GameThumbnail thumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();

        thumbnail.SetThumbnail(newGameTexture);
        thumbnail.SetGameSource(GameDetail.GameSource.Local);
        thumbnail.SetName(gameName);
        thumbnail.OnClick        = OpenNew;
        thumbnail.GetWriteTime   = () => { return(System.DateTime.Today); }; // Not relevant
        thumbnail.GetDescription = () => { return("Start a new multiplayer game"); };
        thumbnail.GetPlayerCount = () => { return(0); };
        AddThumbnail(thumbnail);
    }
Ejemplo n.º 6
0
    void OnWorkshopListLoaded(WorkshopItemListEventArgs args, ItemListData data)
    {
        gettingItemList = false;

        if (args.IsError)
        {
            Debug.Log($"Sorry, encountered an error: {args.ErrorMessage}");
            return;
        }

        if (!itemListData.Equals(data))
        {
            Invoke("CreateSteamThumbnails", .1f);
            return;
        }

        pageCount = args.ItemList.PagesItems;

        workingFeedback.SetActive(false);

        if (args.ItemList.Items.Count == 0)
        {
            noResultsFeedback.SetActive(true);
        }

        foreach (WorkshopItem item in args.ItemList.Items)
        {
            GameThumbnail gameThumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
            if (item.PreviewImageURL != null && item.PreviewImageURL.Length > 0)
            {
                gameThumbnail.SetThumbnailUrl(item.PreviewImageURL);
            }
            else
            {
                gameThumbnail.SetThumbnail(placeholderThumbnailTexture);
            }

            gameThumbnail.SetGameSource(GameDetail.GameSource.Workshop);
            gameThumbnail.SetName(item.Name);
            gameThumbnail.OnClick        = () => OpenWorkshopEntry(gameThumbnail, item);
            gameThumbnail.GetDescription = () => { return(item.Description); };
            AddThumbnail(gameThumbnail);
        }
    }
Ejemplo n.º 7
0
    void AddRoomThumbnail(RoomInfo room)
    {
#if USE_PUN
        string    gameName  = "<no name>";
        Texture2D tnTexture = spoofGameTexture;

        if (room.CustomProperties.ContainsKey(NetworkingController.GameDisplayNameRoomProperty))
        {
            gameName = (string)room.CustomProperties[NetworkingController.GameDisplayNameRoomProperty];
        }

        if (room.CustomProperties.ContainsKey(NetworkingController.ThumbnailZippedJpegRoomProperty))
        {
            try
            {
                byte[] tnBytes = (byte[])room.CustomProperties[NetworkingController.ThumbnailZippedJpegRoomProperty];
                if (tnBytes != null)
                {
                    tnTexture = Util.ZippedJpegToTexture2D(tnBytes);
                }
            }
            catch (System.Exception)
            {
                // Wah wah.
            }
        }

        GameThumbnail thumbnail = Instantiate(gameThumbnailPrefab).GetComponent <GameThumbnail>();
        thumbnail.SetThumbnail(tnTexture);
        thumbnail.SetGameSource(GameDetail.GameSource.Multiplayer);
        thumbnail.SetName(gameName);
        thumbnail.OnClick        = () => ShowRoomDetails(thumbnail, room.Name);
        thumbnail.GetWriteTime   = () => { return(System.DateTime.Today); }; // Not relevant
        thumbnail.GetDescription = () => { return("no description"); };
        thumbnail.GetPlayerCount = () => { return(room.PlayerCount); };
        AddThumbnail(thumbnail);
#endif
    }
    void GameResuming.ResumeOptionHandler.HandleBundleId(string bundleId)
    {
        if (!library.BundleExists(bundleId))
        {
            return;
        }
        var entry = library.GetBundleEntry(bundleId);

        // tutorialButton.gameObject.SetActive(false);
        resumeButton.gameObject.SetActive(true);
        resumeButton.SetThumbnail(entry.bundle.GetThumbnail());
        resumeButton.SetName(entry.bundle.GetMetadata().name);
        resumeButton.OnClick = () =>
        {
            popups.AskHowToPlay(playOpts =>
            {
                loadingScreen.ShowAndDo(() =>
                {
                    scenes.RestartAndLoadLibraryBundle(entry, playOpts);
                });
            });
        };
    }