protected override void OnUpdate()
 {
     Main.isDemo = false;
     RockWeather.TickWeather();
     Persona.Update();
     RandomLevelDownloader.Update();
     if (!NetworkDebugger.enabled)
     {
         FireManager.Update();
     }
     DamageManager.Update();
     if (!Network.isActive)
     {
         NetRand.generator = Rando.generator;
     }
     if (this.joinedLobby || !Program.testServer || (Network.isActive || !Steam.lobbySearchComplete))
     {
         return;
     }
     if (Steam.lobbySearchResult != null)
     {
         Network.JoinServer("", 0, Steam.lobbySearchResult.id.ToString());
         this.joinedLobby = true;
     }
     else
     {
         User who = Steam.friends.Find((Predicate <User>)(x => x.name == "superjoebob"));
         if (who == null)
         {
             return;
         }
         Steam.SearchForLobby(who);
     }
 }
Exemple #2
0
 public static void Update()
 {
     if (!Steam.IsInitialized() || !Network.isServer || TeamSelect2.GetSettingInt("workshopmaps") <= 0)
     {
         return;
     }
     if (RandomLevelDownloader._downloading != null)
     {
         if (!RandomLevelDownloader._downloading.finishedProcessing)
         {
             return;
         }
         if (RandomLevelDownloader._downloading.downloadResult == SteamResult.OK)
         {
             RandomLevelDownloader.SearchDirLevels(RandomLevelDownloader._downloading.path, LevelLocation.Workshop);
         }
         RandomLevelDownloader._downloading = (WorkshopItem)null;
     }
     else
     {
         if (RandomLevelDownloader._currentQuery != null || RandomLevelDownloader._readyLevels.Count == RandomLevelDownloader.numToHaveReady)
         {
             return;
         }
         RandomLevelDownloader._toFetchIndex = -1;
         RandomLevelDownloader._numFetch     = 0;
         RandomLevelDownloader._currentQuery = Steam.CreateQueryAll(RandomLevelDownloader._orderMode, WorkshopType.Items);
         RandomLevelDownloader._currentQuery.requiredTags.Add("Deathmatch");
         RandomLevelDownloader._currentQuery.QueryFinished += new WorkshopQueryFinished(RandomLevelDownloader.FinishedTotalQuery);
         RandomLevelDownloader._currentQuery.fetchedData    = WorkshopQueryData.TotalOnly;
         RandomLevelDownloader._currentQuery.Request();
         DevConsole.Log(DCSection.Steam, "Querying for random levels.");
     }
 }
Exemple #3
0
 private static void SearchDirLevels(string dir, LevelLocation location)
 {
     foreach (string path in location == LevelLocation.Content ? Content.GetFiles(dir) : DuckFile.GetFiles(dir))
     {
         RandomLevelDownloader.ProcessLevel(path, location);
     }
     foreach (string dir1 in location == LevelLocation.Content ? Content.GetDirectories(dir) : DuckFile.GetDirectories(dir))
     {
         RandomLevelDownloader.SearchDirLevels(dir1, location);
     }
 }