public override void Convert(GBXFile file) { int itemCount = 0; var blockChunk = (Challenge0304301F)file.GetChunk(Chunk.challenge0304301FKey); var itemChunk = (Challenge03043040)file.GetChunk(Chunk.challenge03043040Key); if (itemChunk == null) { itemChunk = new Challenge03043040(false); file.AddBodyChunk(Chunk.challenge03043040Key, itemChunk); } foreach (var block in blockChunk.Blocks) { if (BlockIgnoreFlags != null) { foreach (var blockIgnoreFlag in BlockIgnoreFlags) { if (file.TestFlag(blockIgnoreFlag.Name, block.Coords.X, block.Coords.Z)) { goto nextBlock; // D: Goto?!? What a maniac. } } } //Block cannot not be ignored var success = ConvertBlock(file, block, itemChunk); if (success) { itemCount++; } nextBlock :; } if (ItemCountStatistic != null) { file.AddStatistic(ItemCountStatistic.Name, itemCount); } }
public override void Convert(GBXFile file) { var commonChunk = (ChallengeCommon)file.GetChunk(Chunk.challengeCommonKey); commonChunk.UpdateToVersion11(); commonChunk.TitleUID = (GBXLBS)TitleUID.DeepClone(); var communityChunk = (ChallengeCommunity)file.GetChunk(Chunk.challengeCommunityKey); communityChunk.CommunityXml.Xml.Title = TitleUID.Content; var titlepackChunk = (Challenge03043051)file.GetChunk(Chunk.challenge03043051Key); if (titlepackChunk == null) { titlepackChunk = new Challenge03043051(false); file.AddBodyChunk(Chunk.challenge03043051Key, titlepackChunk); } titlepackChunk.TitlePack.Content = TitleUID.Content; }