RTSEngine.Graphics.RTSRenderer.DrawHealth C# (CSharp) Method

DrawHealth() public method

public DrawHealth ( ) : void
return void
        public void DrawHealth()
        {
            if(teamInput.selected.Count < 1) return;

            var lhv = new List<VertexHealthInstance>(teamInput.selected.Count);
            for(int c = teamInput.selected.Count - 1; c >= 0; c--) {
                IEntity e = teamInput.selected[c];
                VertexHealthInstance vert = new VertexHealthInstance();
                vert.Position = e.WorldPosition;
                vert.Position.Y = e.BBox.Max.Y;

                float mh = 1f;
                if(e as RTSBuilding != null) mh = (e as RTSBuilding).Data.Health;
                else mh = (e as RTSUnit).Data.Health;

                vert.DirRadiusHealth = new Vector4(
                    e.ViewDirection,
                    e.CollisionGeometry.BoundingRadius * args.FXHealthRadiusModifier,
                    e.Health / mh
                    );
                vert.Tint = args.FXHealthTint;

                lhv.Add(vert);
            }

            healthView.Draw(G, lhv);
        }