Exemple #1
0
        void OnUGCInfo(SteamCloud.UGCDetailsCallback callback)
        {
            var req = GetRequest(r => r.JobID == callback.JobID);

            if (req == null)
            {
                return;
            }

            if (callback.Result != EResult.OK)
            {
                IRC.Instance.Send(req.Channel, "{0}: Unable to request UGC info: {1}", req.Requester.Nickname, callback.Result);
                return;
            }

            var displayDict = new DisplayDictionary();

            displayDict.Add("URL", callback.URL);
            displayDict.Add("Creator", callback.Creator);
            displayDict.Add("App", callback.AppID);
            displayDict.Add("File", callback.FileName, true);
            displayDict.Add("Size", Utils.GetByteSizeString(callback.FileSize));

            IRC.Instance.Send(req.Channel, "{0}: {1}: {2}", req.Requester.Nickname, req.UGC, displayDict);
        }
Exemple #2
0
        public SteamCloud.UGCDetailsCallback GetUGCDetails(UGCHandle ugcHandle)
        {
            bool completed = false;

            SteamCloud.UGCDetailsCallback details = null;

            Action <SteamCloud.UGCDetailsCallback> cbMethod = callback =>
            {
                completed = true;
                if (callback.Result == EResult.OK)
                {
                    details = callback;
                }
                else if (callback.Result == EResult.FileNotFound)
                {
                    details = null;
                }
                else
                {
                    throw new Exception($"EResult {(int)callback.Result} ({callback.Result}) while retrieving UGC details for {ugcHandle}.");
                }
            };

            WaitUntilCallback(() =>
            {
                callbacks.Subscribe(steamCloud.RequestUGCDetails(ugcHandle), cbMethod);
            }, () => { return(completed); });

            return(details);
        }
Exemple #3
0
        private void OnUGCInfo(SteamCloud.UGCDetailsCallback callback)
        {
            JobAction job;

            if (!JobManager.TryRemoveJob(callback.JobID, out job) || !job.IsCommand)
            {
                return;
            }

            var request = job.CommandRequest;

            if (callback.Result != EResult.OK)
            {
                CommandHandler.ReplyToCommand(request.Command, "Unable to request UGC info: {0}", callback.Result);

                return;
            }

            CommandHandler.ReplyToCommand(request.Command, "Creator: {0}{1}{2}, App: {3}{4}{5}, File: {6}{7}{8}, Size: {9}{10}{11} -{12} {13}",
                                          Colors.BLUE, callback.Creator.Render(true), Colors.NORMAL,
                                          Colors.BLUE, callback.AppID, Colors.NORMAL,
                                          Colors.BLUE, callback.FileName, Colors.NORMAL,
                                          Colors.BLUE, GetByteSizeString(callback.FileSize), Colors.NORMAL,
                                          Colors.DARKBLUE, callback.URL
                                          );
        }