public void Hook(RTSRenderer renderer, GameState s, int ti, int unit) { // Filter For Unit Types RTSTeam team = s.teams[ti]; Data = team.Race.Units[unit]; // Always Add A Unit To List When Spawned team.OnUnitSpawn += OnUnitSpawn; // Create Instance Buffer visible = new List <RTSUnit>(); instVerts = new VertexRTSAnimInst[Data.MaxCount]; instances = new List <RTSUnit>(Data.MaxCount); dead = new List <RTSUnit>(); for (int i = 0; i < team.Units.Count; i++) { OnUnitSpawn(team.Units[i]); } for (int i = 0; i < instVerts.Length; i++) { instVerts[i] = new VertexRTSAnimInst(Matrix.Identity, 0); } dvbInstances = renderer.CreateDynamicVertexBuffer(VertexRTSAnimInst.Declaration, instVerts.Length, BufferUsage.WriteOnly); dvbInstances.SetData(instVerts); dvbInstances.ContentLost += (sender, args) => { rebuildDVB = true; }; rebuildDVB = false; }
public void Hook(RTSRenderer renderer, GameState s, int ti, int fti, int building) { // Filter For Unit Types RTSTeam team = s.teams[ti]; Data = team.Race.Buildings[building]; fTeam = s.teams[fti]; eTeamIndex = ti; fTeamIndex = fti; bType = building; // Create Instance Buffer visible = new List <VisibleBuilding>(); instVerts = new VertexRTSAnimInst[Data.MaxCount]; for (int i = 0; i < instVerts.Length; i++) { instVerts[i] = new VertexRTSAnimInst(Matrix.Identity, 1); } dvbInstances = renderer.CreateDynamicVertexBuffer(VertexRTSAnimInst.Declaration, instVerts.Length, BufferUsage.WriteOnly); dvbInstances.SetData(instVerts); dvbInstances.ContentLost += (sender, args) => { rebuildDVB = true; }; rebuildDVB = false; }
public void Hook(RTSRenderer renderer, GameState s, int ti, int unit) { // Filter For Unit Types RTSTeam team = s.teams[ti]; Data = team.Race.Units[unit]; // Always Add A Unit To List When Spawned team.OnUnitSpawn += OnUnitSpawn; // Create Instance Buffer visible = new List<RTSUnit>(); instVerts = new VertexRTSAnimInst[Data.MaxCount]; instances = new List<RTSUnit>(Data.MaxCount); dead = new List<RTSUnit>(); for(int i = 0; i < team.Units.Count; i++) { OnUnitSpawn(team.Units[i]); } for(int i = 0; i < instVerts.Length; i++) instVerts[i] = new VertexRTSAnimInst(Matrix.Identity, 0); dvbInstances = renderer.CreateDynamicVertexBuffer(VertexRTSAnimInst.Declaration, instVerts.Length, BufferUsage.WriteOnly); dvbInstances.SetData(instVerts); dvbInstances.ContentLost += (sender, args) => { rebuildDVB = true; }; rebuildDVB = false; }
public void Hook(RTSRenderer renderer, GameState s, int ti, int fti, int building) { // Filter For Unit Types RTSTeam team = s.teams[ti]; Data = team.Race.Buildings[building]; fTeam = s.teams[fti]; eTeamIndex = ti; fTeamIndex = fti; bType = building; // Create Instance Buffer visible = new List<VisibleBuilding>(); instVerts = new VertexRTSAnimInst[Data.MaxCount]; for(int i = 0; i < instVerts.Length; i++) instVerts[i] = new VertexRTSAnimInst(Matrix.Identity, 1); dvbInstances = renderer.CreateDynamicVertexBuffer(VertexRTSAnimInst.Declaration, instVerts.Length, BufferUsage.WriteOnly); dvbInstances.SetData(instVerts); dvbInstances.ContentLost += (sender, args) => { rebuildDVB = true; }; rebuildDVB = false; }