コード例 #1
0
ファイル: Drawer.cs プロジェクト: CSF-VSU/SpacePewPew
            public ShipAttributes(string texName, PlayerColor color, Point pos, int direction, HealthBar healthBar)
            {
                TexName = texName;
                Color = color;
                Direction = direction;
                Pos = pos;
                HealthBar = healthBar;

                  //  TexSize = texSize;

                switch (TexName)
                {
                    case "Fighter":
                    {
                        TexSize = 8;
                        break;
                    }
                    case "Barge":
                    {
                        TexSize = 15;
                        break;
                    }
                    default:
                    {
                        TexSize = 10;
                        break;
                    }
                }
            }
コード例 #2
0
ファイル: Drawer.cs プロジェクト: CSF-VSU/SpacePewPew
        private void DrawHealthBar(HealthBar healthBar)
        {
            UiElement.Frame(healthBar.Position.X, healthBar.Position.Y + 2, healthBar.Position.X + 1, healthBar.Position.Y + 10);
            var f = (float) healthBar.CurrentHealth/healthBar.MaxHealth;
            if (f >= 0.5f)
                Gl.glColor3f(0, 1, 0);
            else if (f > 0.25f && f < 0.5f)
                Gl.glColor3f(1, 1, 0.3f);
            else
                Gl.glColor3f(1, 0, 0);

            Gl.glBegin(Gl.GL_POLYGON);
            Gl.glVertex2f(healthBar.Position.X, healthBar.Position.Y + 10);
            Gl.glVertex2f(healthBar.Position.X + 1, healthBar.Position.Y + 10);
            Gl.glVertex2f(healthBar.Position.X + 1, healthBar.Position.Y + 10 - 8*f);
            Gl.glVertex2f(healthBar.Position.X, healthBar.Position.Y + 10 - 8*f);
            Gl.glEnd();

            UiElement.DrawString(new PointF(healthBar.Position.X, healthBar.Position.Y - 2),
                healthBar.CurrentHealth.ToString());
        }