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); }
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); }
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 ); }