public override void Draw() { GL.Enable(EnableCap.StencilTest); GL.Clear(ClearBufferMask.StencilBufferBit); GL.StencilFunc(StencilFunction.Always, 1, 0xff); GL.StencilOp(StencilOp.Keep, StencilOp.Keep, StencilOp.Replace); sprite.Color = new Color(1f, 1f, 1f, progress > 0 ? 0.3f : 0.1f); sprite.Draw(position, areaSize, 0f); GL.StencilFunc(StencilFunction.Equal, 1, 0xff); progressMesh.Reset(); progressMesh.Translate(position); progressMesh.Translate(new Vector2(-0.5f, 0) * areaSize); progressMesh.Scale(new Vector2(progress, 1) * areaSize); progressMesh.Draw(); GL.Disable(EnableCap.StencilTest); scrapBar.Draw(position, Color.White); }
public override void Draw() { if (!IsAlive) return; sprite.Color = Color.Red; sprite.Draw(position, size, 0f); if (health < MaxHealth) healthBar.Draw(position, Color.Red); }
public override void Draw() { if (!IsAlive && dieTimer.IsDone) { return; } //base.Draw(); sprite.Draw(); healthBar.Draw(position, Player.colorList[teamID]); }
public void Draw() { if (!player.DodgeCooldown.IsDone) { dodgeBar.Draw(player.Position, player.Color); } if (!player.DashCooldown.IsDone) { dashBar.Draw(player.Position, player.Color); } #region Health healthBar.Draw(player.Position, new Color(1f, 0f, 0f, healthAlpha)); #endregion #region Ammo if (player.Weapon != null) { int maxAmmo = player.MaxAmmo; float dir = 90f / (maxAmmo - 1); if (ammoAlpha > 0f && player.Weapon.ReloadProgress == -1) { ammoMesh.Color = new Color(1f, 1f, 1f, ammoAlpha); for (int i = 0; i < player.MaxAmmo; i++) { float d = 90 + 45 - dir * i; if (!ammoGainTimer.IsDone) { float f = TKMath.Exp(ammoGainTimer.PercentageDone); Color c = new Color(1f, 1f, 1f, f); ammoMesh.Color = c; ammoMesh.Reset(); ammoMesh.Translate(player.Position); ammoMesh.RotateZ(d); ammoMesh.Translate(f * 2f, 0); ammoMesh.Scale(0.4f, 0.15f); ammoMesh.Draw(); } else { ammoMesh.Color = new Color(1f, 1f, 1f, (i < player.Ammo ? 1f : 0.2f) * ammoAlpha); ammoMesh.Reset(); ammoMesh.Translate(player.Position); ammoMesh.RotateZ(d); ammoMesh.Translate(2f, 0f); ammoMesh.Scale(0.4f, 0.15f); ammoMesh.Draw(); } } } if (player.Weapon.ReloadProgress != -1) { reloadBar.Draw(player.Position, Color.White); } if (player.Weapon.RearmProgress != -1 && player.Weapon.FireType == WeaponStats.FireType.SingleTimed) { rearmBar.Draw(player.Position, Color.White); } if (player.Weapon.Charge != 0 && player.Weapon.FireType == WeaponStats.FireType.Charge) { rearmBar.Draw(player.Position, Color.White); } if (!ammoUseTimer.IsDone) { float d = 90 + 45 - dir * ammoUseIndex; float f = 1f - TKMath.Exp(ammoUseTimer.PercentageDone, 10); Color c = new Color(1f, 1f, 1f, 1f - f); ammoMesh.Color = c; ammoMesh.Reset(); ammoMesh.Translate(player.Position); ammoMesh.RotateZ(d); ammoMesh.Translate(2f, 0); ammoMesh.Scale(0.4f, 0.15f); ammoMesh.Scale(1 + f * 2f); ammoMesh.Draw(); } } #endregion }