private static void ParseMaps(IndentHelper iD, STUGUID mapBinding) { if (mapBinding == null) { return; } try { var map = GetInstance <STUMapDataBinding>(mapBinding); if (map?.MapMetadatas == null) { return; } var mapNames = new List <string>(); foreach (var guid in map.MapMetadatas) { var mapMeta = GetInstance <STUMap>(guid); if (mapMeta == null) { continue; } var mapName = GetString(mapMeta.DisplayName); mapNames.Add(mapName); } Log($"{iD}Maps: {String.Join(", ", mapNames)}"); } catch { } }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteStartObject(); writer.WritePropertyName("Key"); ulong key = 0; STUGUID guid = value as STUGUID; if (guid != null) { key = guid; } else { key = (ulong)value; } writer.WriteValue($"{key:X16}"); writer.WritePropertyName("String"); writer.WriteValue($"{GUID.LongKey(key):X12}.{GUID.Type(key):X3}"); writer.WriteEndObject(); }
private static void ParseGamemodeData(IndentHelper iD, STUGUID guid) { if (guid == null) { return; } var gamemodeData = GetInstance <STUGamemode>(guid); Log($"{iD}Gamemode Data (Can be overriden by Team Config):"); Log($"{iD+1}Type: {GetString(gamemodeData.DisplayName) ?? "N/A"}"); if (gamemodeData.Teams != null) { Log($"{iD+1}Teams:"); foreach (var team in gamemodeData.Teams) { Log($"{iD+2}{team.TeamType}: {team.MaxPlayers}/{team.MaxPlayers} (Min/Max)"); if (team.AllowedHeroes != null) { var allowedHeroes = new List <string>(); foreach (var heroguid in ((STUGamemodeHeroCollection)team.AllowedHeroes).Heroes) { var hero = GetInstance <STUHero>(heroguid); if (hero == null) { continue; } allowedHeroes.Add(GetString(hero.Name)); } Log($"{iD + 3}Allowed Heroes: {String.Join(", ", allowedHeroes)}"); } } } }