public void Read(FileReader reader) { reader.ReadSignature(4, "GMX2"); reader.SetByteOrder(true); HeaderSize = reader.ReadUInt32(); while (reader.Position < reader.BaseStream.Length) { long pos = reader.Position; string Magic = reader.ReadString(4); uint SectionSize = reader.ReadUInt32(); reader.SeekBegin(pos); switch (Magic) { case "PADX": PADX padding = new PADX(); padding.Read(reader); break; case "INDX": INDX indexGrp = new INDX(); indexGrp.Read(reader, GetLastMesh()); GetLastMesh().IndexGroup = indexGrp; break; case "VMAP": VMAP vmap = new VMAP(); vmap.Read(reader); GetLastMesh().VMapGroup = vmap; break; case "MESH": MESH mesh = new MESH(); mesh.Read(reader); Meshes.Add(mesh); Console.WriteLine($"MESH {mesh.VertexCount} {mesh.FaceCount} {mesh.SkinningFlags} {mesh.VertexSize}"); break; case "VERT": VERT vert = new VERT(); vert.Read(reader, GetLastMesh()); GetLastMesh().VertexGroup = vert; break; case "ENDX": reader.ReadSignature(4, "ENDX"); uint EndSectionSize = reader.ReadUInt32(); break; default: throw new Exception("Unknown section! " + Magic); } reader.SeekBegin(pos + SectionSize); } Console.WriteLine("MESHES " + Meshes.Count); }
VMAP IOutboundService.GetVMAP(int id) { ImpulseApp.Models.AdModels.SimpleAdModel adGBO = db.GetAdById(id); VMAP vmap = new VMAP(); VMAPAdBreak vmapAd = new VMAPAdBreak(); VMAPAdBreakAdSource adSource = new VMAPAdBreakAdSource(); List <VMAPAdBreakAdSourceVASTAdData> ads = new List <VMAPAdBreakAdSourceVASTAdData>(); foreach (var state in adGBO.AdStates) { VMAPAdBreakAdSourceVASTAdData vast = new VMAPAdBreakAdSourceVASTAdData(); vast.VAST = GetVastFromAdState(state); ads.Add(vast); } adSource.VASTAdData = ads.ToArray(); adSource.allowMultipleAds = true; adSource.followRedirects = true; vmapAd.AdSource = new VMAPAdBreakAdSource[1]; vmapAd.AdSource[0] = adSource; vmap.AdBreak = new VMAPAdBreak[1]; vmap.AdBreak[0] = vmapAd; return(vmap); }
public static VMAP GetVMAP(ImpulseApp.Models.AdModels.SimpleAdModel adGBO) { VMAP vmap = new VMAP(); VMAPAdBreak vmapAd = new VMAPAdBreak(); VMAPAdBreakAdSource adSource = new VMAPAdBreakAdSource(); //vmapAd.TrackingEvents = null; List <VMAPAdBreakAdSourceVASTAdData> ads = new List <VMAPAdBreakAdSourceVASTAdData>(); foreach (var state in adGBO.AdStates) { VMAPAdBreakAdSourceVASTAdData vast = new VMAPAdBreakAdSourceVASTAdData(); vast.VAST = GetVastFromAdState(state); ads.Add(vast); } adSource.VASTAdData = ads.ToArray(); adSource.allowMultipleAds = true; adSource.followRedirects = true; vmapAd.AdSource = new VMAPAdBreakAdSource[1]; vmapAd.AdSource[0] = adSource; vmap.AdBreak = new VMAPAdBreak[1]; vmap.AdBreak[0] = vmapAd; return(vmap); }
public void Render(int centerTileX, int centerTileY) { MAP.Render(centerTileX, centerTileY); VMAP.Render(centerTileX, centerTileY); }
public void LoadTile(int tileX, int tileY) { MAP.LoadTile(tileX, tileY); VMAP.LoadTile(tileX, tileY); }