Example #1
0
        public override PendingActionResult Run(OnlineModManager _onlineManager, LocalModManager _localManager)
        {
            //_localManager.Install();
            return(PendingActionResult.Completed);

            ;
            throw new NotImplementedException();
        }
Example #2
0
        public override PendingActionResult Run(OnlineModManager _onlineManager, LocalModManager _localManager)
        {
            //check if file does exist already, if so, no need to do anything
            if (File.Exists(targetFilename))
            {
                return(PendingActionResult.Skipped);
            }
            bool success = false;

            using (WebClient wc = new WebClient())
            {
                foreach (ModInfo.ReleaseInfo.ReleaseFileInfo releaseFileInfo in releaseInfo.Files)
                {
                    //try url first
                    if (releaseFileInfo.Url != null)
                    {
                        try
                        {
                            wc.DownloadFile(releaseFileInfo.Url, targetFilename);
                            success = true;
                            break;
                        }
                        catch
                        {
                            // ignored because it's possible that the server not reachable
                        }
                    }
                    //try mirrors
                    if (!string.IsNullOrEmpty(releaseFileInfo.Mirror))
                    {
                        try
                        {
                            wc.DownloadFile(releaseFileInfo.Mirror, targetFilename);
                            success = true;
                            break;
                        }
                        catch
                        {
                            // ignored because it's possible that the server not reachable
                        }
                    }
                }
                //wc.DownloadFile(, targetFilename);
            }
            if (success)
            {
                return(PendingActionResult.Completed);
            }
            else
            {
                return(PendingActionResult.Failed);
            }
        }
 public abstract PendingActionResult Run(OnlineModManager _onlineManager, LocalModManager _localManager);
 public override PendingActionResult Run(OnlineModManager _onlineManager, LocalModManager _localManager)
 {
     throw new NotImplementedException();
 }