public void FromGameServerItem(gameserveritem_t item)
 {
     serverID            = item.m_steamID;
     serverName          = item.GetServerName();
     serverDescription   = item.GetGameDescription();
     mapName             = item.GetMap();
     isPasswordProtected = item.m_bPassword;
     isVAC              = item.m_bSecure;
     maxPlayerCount     = item.m_nMaxPlayers;
     currentPlayerCount = item.m_nPlayers;
     botPlayers         = item.m_nBotPlayers;
     ping           = item.m_nPing;
     serverVersion  = item.m_nServerVersion;
     tags           = item.GetGameTags();
     address        = item.m_NetAdr;
     lastTimePlayed = SteamUtilities.ConvertUnixDate(item.m_ulTimeLastPlayed);
 }
예제 #2
0
        public HeathenWorkshopReadCommunityItem(SteamUGCDetails_t itemDetails)
        {
            SourceItemDetails = itemDetails;

            if (itemDetails.m_eFileType != EWorkshopFileType.k_EWorkshopFileTypeCommunity)
            {
                Debug.LogWarning("HeathenWorkshopReadItem is designed to display File Type = Community Item, this item is not a community item and may not load correctly.");
            }

            m_RemoteStorageDownloadUGCResult = CallResult <RemoteStorageDownloadUGCResult_t> .Create(HandleUGCDownload);

            TargetApp       = itemDetails.m_nConsumerAppID;
            FileId          = itemDetails.m_nPublishedFileId;
            Title           = itemDetails.m_rgchTitle;
            Description     = itemDetails.m_rgchDescription;
            Visibility      = itemDetails.m_eVisibility;
            Author          = new CSteamID(itemDetails.m_ulSteamIDOwner);
            CreatedOn       = SteamUtilities.ConvertUnixDate(itemDetails.m_rtimeCreated);
            LastUpdated     = SteamUtilities.ConvertUnixDate(itemDetails.m_rtimeUpdated);
            UpVotes         = itemDetails.m_unVotesUp;
            DownVotes       = itemDetails.m_unVotesDown;
            VoteScore       = itemDetails.m_flScore;
            IsBanned        = itemDetails.m_bBanned;
            IsTagsTruncated = itemDetails.m_bTagsTruncated;
            FileSize        = itemDetails.m_nFileSize;
            Visibility      = itemDetails.m_eVisibility;
            Tags.AddRange(itemDetails.m_rgchTags.Split(','));
            uint state = SteamUGC.GetItemState(FileId);

            StateFlags = (EItemState)state;

            IsSubscribed = SteamUtilities.WorkshopItemStateHasFlag(StateFlags, EItemState.k_EItemStateSubscribed);

            if (itemDetails.m_nPreviewFileSize > 0)
            {
                var previewCall = SteamRemoteStorage.UGCDownload(itemDetails.m_hPreviewFile, 1);
                m_RemoteStorageDownloadUGCResult.Set(previewCall, HandleUGCDownloadPreviewFile);
            }
            else
            {
                Debug.LogWarning("Item [" + Title + "] has no preview file!");
            }
        }