private void UpdateDirection(CTerrain pTerrain) { float num = this.angleZ + 1.57079637f; num += pTerrain.GetAngleZ(); this.UpdateDirection(num); }
public void Render(CTerrain pTerrain, Matrix pTerrainMatrix, float pAngleZ) { this.UpdateDirection(pTerrain); this.m_frame++; if (this.m_frame > this.m_frameMax) { this.m_frame = 0; } int texIndex = this.GetTexIndex(this.m_frame); float angle = -pAngleZ; this.myTerrain.device.Transform.World = Matrix.RotationZ(angle) * Matrix.Translation(this.Position.X, this.Position.Y, this.Position.Z - this.m_BillboardMesh.ShiftZ) * pTerrainMatrix; this.m_BillboardMesh.Render(texIndex); }