Example #1
0
        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;
        }
Example #2
0
        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;
        }
Example #3
0
        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;
        }