Exemplo n.º 1
0
 // Token: 0x06003A2B RID: 14891 RVA: 0x001BDBC8 File Offset: 0x001BBFC8
 public static bool tryGetLanguage(out string local, out string path)
 {
     local = string.Empty;
     path  = string.Empty;
     string[] commandLineArgs = Environment.GetCommandLineArgs();
     for (int i = 0; i < commandLineArgs.Length; i++)
     {
         if (commandLineArgs[i].Substring(0, 1) == "+")
         {
             local = commandLineArgs[i].Substring(1, commandLineArgs[i].Length - 1);
             if (Provider.provider.workshopService.ugc != null)
             {
                 for (int j = 0; j < Provider.provider.workshopService.ugc.Count; j++)
                 {
                     SteamContent steamContent = Provider.provider.workshopService.ugc[j];
                     if (steamContent.type == ESteamUGCType.LOCALIZATION && ReadWrite.folderExists(steamContent.path + "/" + local, false))
                     {
                         path = steamContent.path + "/";
                         return(true);
                     }
                 }
             }
             if (ReadWrite.folderExists("/Localization/" + local))
             {
                 path = ReadWrite.PATH + "/Localization/";
                 return(true);
             }
         }
     }
     return(false);
 }
Exemplo n.º 2
0
		public static LevelInfo getLevel(string name)
		{
			if (ReadWrite.folderExists("/Maps/" + name))
			{
				return Level.getLevel("/Maps/" + name, true);
			}
			if (Provider.provider.workshopService.ugc != null)
			{
				for (int i = 0; i < Provider.provider.workshopService.ugc.Count; i++)
				{
					SteamContent steamContent = Provider.provider.workshopService.ugc[i];
					if (steamContent.type == ESteamUGCType.MAP && ReadWrite.folderExists(steamContent.path + "/" + name, false))
					{
						return Level.getLevel(steamContent.path + "/" + name, false);
					}
				}
			}
			else
			{
				string[] folders = ReadWrite.getFolders("/Bundles/Workshop/Maps");
				for (int j = 0; j < folders.Length; j++)
				{
					if (ReadWrite.folderExists(folders[j] + "/" + name, false))
					{
						return Level.getLevel(folders[j] + "/" + name, false);
					}
				}
				string[] folders2 = ReadWrite.getFolders(ServerSavedata.directory + "/" + Provider.serverID + "/Workshop/Maps");
				for (int k = 0; k < folders2.Length; k++)
				{
					if (ReadWrite.folderExists(folders2[k] + "/" + name, false))
					{
						return Level.getLevel(folders2[k] + "/" + name, false);
					}
				}
				if (ReadWrite.folderExists(string.Concat(new string[]
				{
					ServerSavedata.directory,
					"/",
					Provider.serverID,
					"/Maps/",
					name
				})))
				{
					return Level.getLevel(string.Concat(new string[]
					{
						ServerSavedata.directory,
						"/",
						Provider.serverID,
						"/Maps/",
						name
					}), true);
				}
			}
			return null;
		}
Exemplo n.º 3
0
		public static LevelInfo[] getLevels(ESingleplayerMapCategory categoryFilter)
		{
			List<LevelInfo> list = new List<LevelInfo>();
			string[] folders = ReadWrite.getFolders("/Maps");
			for (int i = 0; i < folders.Length; i++)
			{
				LevelInfo level = Level.getLevel(folders[i], false);
				if (level != null && !(level.name.ToLower() == "tutorial"))
				{
					if (Level.doesLevelPassFilter(level, categoryFilter))
					{
						list.Add(level);
					}
				}
			}
			if (Provider.provider.workshopService.ugc != null)
			{
				for (int j = 0; j < Provider.provider.workshopService.ugc.Count; j++)
				{
					SteamContent steamContent = Provider.provider.workshopService.ugc[j];
					if (steamContent.type == ESteamUGCType.MAP)
					{
						LevelInfo level2 = Level.getLevel(ReadWrite.folderFound(steamContent.path, false), false);
						if (level2 != null)
						{
							level2.isFromWorkshop = true;
							if (Level.doesLevelPassFilter(level2, categoryFilter))
							{
								list.Add(level2);
							}
						}
					}
				}
			}
			else
			{
				string[] folders2 = ReadWrite.getFolders("/Bundles/Workshop/Maps");
				for (int k = 0; k < folders2.Length; k++)
				{
					LevelInfo level3 = Level.getLevel(folders2[k], false);
					if (level3 != null)
					{
						level3.isFromWorkshop = true;
						if (Level.doesLevelPassFilter(level3, categoryFilter))
						{
							list.Add(level3);
						}
					}
				}
				string[] folders3 = ReadWrite.getFolders(ServerSavedata.directory + "/" + Provider.serverID + "/Workshop/Maps");
				for (int l = 0; l < folders3.Length; l++)
				{
					LevelInfo level4 = Level.getLevel(folders3[l], false);
					if (level4 != null)
					{
						level4.isFromWorkshop = true;
						if (Level.doesLevelPassFilter(level4, categoryFilter))
						{
							list.Add(level4);
						}
					}
				}
				folders = ReadWrite.getFolders(ServerSavedata.directory + "/" + Provider.serverID + "/Maps");
				for (int m = 0; m < folders.Length; m++)
				{
					LevelInfo level5 = Level.getLevel(folders[m], false);
					if (level5 != null && !(level5.name.ToLower() == "tutorial"))
					{
						level5.isFromWorkshop = true;
						if (Level.doesLevelPassFilter(level5, categoryFilter))
						{
							list.Add(level5);
						}
					}
				}
			}
			return list.ToArray();
		}