// Token: 0x060000C1 RID: 193 RVA: 0x00007934 File Offset: 0x00005B34 public void Draw(O9K.Core.Managers.Renderer.IRenderer renderer, Rectangle9 position, float cooldownSize) { if (!this.Ability.IsUsable) { return; } try { renderer.DrawTexture(this.Ability.Name, position, 0f, 1f); if (this.Ability.IsCasting || this.Ability.IsChanneling) { renderer.DrawRectangle(position - 3f, System.Drawing.Color.LightGreen, 3f); } else { renderer.DrawRectangle(position - 1f, System.Drawing.Color.Black, 1f); } if (this.displayLevel) { uint level = this.Ability.Level; if (level == 0u) { renderer.DrawTexture("ability_0lvl_bg", position, 0f, 1f); return; } string text = level.ToString("N0"); Vector2 vector = renderer.MeasureText(text, position.Width * 0.45f, "Calibri"); Rectangle9 rec = position.SinkToBottomLeft(vector.X, vector.Y * 0.8f); renderer.DrawTexture("ability_lvl_bg", rec, 0f, 1f); renderer.DrawText(rec, text, System.Drawing.Color.White, RendererFontFlags.VerticalCenter, position.Width * 0.45f, "Calibri"); } if (this.displayCharges) { string text2 = this.Ability.BaseItem.CurrentCharges.ToString("N0"); Vector2 vector2 = renderer.MeasureText(text2, position.Width * 0.45f, "Calibri"); Rectangle9 rec2 = position.SinkToBottomRight(vector2.X * 1.1f, vector2.Y * 0.8f); renderer.DrawTexture("ability_lvl_bg", rec2, 0f, 1f); renderer.DrawText(rec2, text2, System.Drawing.Color.White, RendererFontFlags.VerticalCenter, position.Width * 0.45f, "Calibri"); } if (!this.Ability.IsChanneling) { float remainingCooldown = this.Ability.RemainingCooldown; if (remainingCooldown > 0f) { renderer.DrawTexture("ability_cd_bg", position, 0f, 1f); renderer.DrawText(position * 2f, Math.Ceiling((double)remainingCooldown).ToString("N0"), System.Drawing.Color.White, RendererFontFlags.Center | RendererFontFlags.VerticalCenter, cooldownSize, "Calibri"); } else if (this.Ability.ManaCost > this.Ability.Owner.Mana) { renderer.DrawTexture("ability_mana_bg", position, 0f, 1f); renderer.DrawText(position * 2f, Math.Ceiling((double)((this.Ability.ManaCost - this.Ability.Owner.Mana) / this.Ability.Owner.ManaRegeneration)).ToString("N0"), System.Drawing.Color.White, RendererFontFlags.Center | RendererFontFlags.VerticalCenter, cooldownSize, "Calibri"); } } } catch (Exception exception) { Logger.Error(exception, null); } }
public void Draw(Rectangle9 position, float cooldownSize) { try { RendererManager.DrawTexture(this.Ability.TextureName, position, TextureType.Ability); if (this.Ability.IsCasting || this.Ability.IsChanneling) { RendererManager.DrawRectangle(position - 3f, Color.LightGreen, 3); } else { RendererManager.DrawRectangle(position - 1, Color.Black); } if (this.displayLevel) { var level = this.Ability.Level; if (level == 0) { RendererManager.DrawTexture("o9k.ability_0lvl_bg", position); return; } var levelText = level.ToString("N0"); var levelSize = RendererManager.MeasureText(levelText, position.Width * 0.45f); var levelPosition = position.SinkToBottomLeft(levelSize.X, levelSize.Y * 0.8f); RendererManager.DrawTexture("o9k.ability_lvl_bg", levelPosition); RendererManager.DrawText(levelText, levelPosition, Color.White, FontFlags.VerticalCenter, position.Width * 0.45f); } if (this.Ability.IsDisplayingCharges) { var chargesText = this.Ability.Charges.ToString("N0"); var chargesPosition = position.SinkToBottomRight(position.Width * 0.5f, position.Height * 0.5f); RendererManager.DrawTexture("o9k.charge_bg", chargesPosition); RendererManager.DrawTexture("o9k.outline_green", chargesPosition * 1.07f); RendererManager.DrawText(chargesText, chargesPosition, Color.White, FontFlags.Center, position.Width * 0.45f); } if (this.Ability.IsChanneling) { return; } var cooldown = this.Ability.RemainingCooldown; if (cooldown > 0) { RendererManager.DrawTexture("o9k.ability_cd_bg", position); RendererManager.DrawText( Math.Ceiling(cooldown).ToString("N0"), position, Color.White, FontFlags.Center | FontFlags.VerticalCenter, cooldownSize); } else if (this.Ability.ManaCost > this.Ability.Owner.Mana) { RendererManager.DrawTexture("o9k.ability_mana_bg", position); RendererManager.DrawText( Math.Ceiling((this.Ability.ManaCost - this.Ability.Owner.Mana) / this.Ability.Owner.ManaRegeneration) .ToString("N0"), position, Color.White, FontFlags.Center | FontFlags.VerticalCenter, cooldownSize); } else if (!this.Ability.IsUsable) { RendererManager.DrawTexture("o9k.ability_0lvl_bg", position); } } catch (Exception e) { Logger.Error(e); } }
// Token: 0x0600011E RID: 286 RVA: 0x0000AFB4 File Offset: 0x000091B4 private void OnDraw(O9K.Core.Managers.Renderer.IRenderer renderer) { try { Vector2 vector = this.position.Value; foreach (Unit9 unit in this.units) { if (unit.IsValid) { renderer.DrawTexture(unit.Name, vector, this.heroSize, 0f, 1f); Rectangle9 rec = new Rectangle9(vector.X + this.heroSize.X + 1f, vector.Y, this.itemSize.X, this.itemSize.Y); for (int i = 0; i < 6; i++) { renderer.DrawTexture("inventory_item_bg", rec + new Vector2((this.itemSize.X + 1f) * (float)i, 0f), 0f, 1f); } foreach (Ability9 ability in from x in unit.Abilities orderby x.Id == AbilityId.item_tpscroll select x) { if (ability.Id == AbilityId.item_tpscroll) { Rectangle9 rec2 = new Rectangle9(vector + new Vector2(this.heroSize.X * 0.7f, this.heroSize.Y * 0.35f), this.itemSize.X * 0.55f, this.itemSize.X * 0.55f); renderer.DrawTexture("outline", rec2 + 1f, 0f, 1f); renderer.DrawTexture(ability.Name + "_rounded", rec2, 0f, 1f); if (this.showCooldown) { float remainingCooldown = ability.RemainingCooldown; if (remainingCooldown > 0f) { renderer.DrawTexture("inventory_tp_cd_bg", rec2, 0f, 1f); renderer.DrawText(rec2, Math.Ceiling((double)remainingCooldown).ToString("N0"), System.Drawing.Color.White, RendererFontFlags.Center | RendererFontFlags.VerticalCenter, this.size * 0.35f, "Calibri"); } } } else if (ability.IsItem && ability.IsUsable) { Rectangle9 rec3 = rec - 4f; renderer.DrawTexture(ability.Name, rec3, 0f, 1f); if (this.showCharges && ability.IsDisplayingCharges) { string text = ability.BaseItem.CurrentCharges.ToString("N0"); Vector2 vector2 = renderer.MeasureText(text, this.size * 0.35f, "Calibri"); Rectangle9 rec4 = rec3.SinkToBottomRight(vector2.X * 1.1f, vector2.Y * 0.8f); renderer.DrawFilledRectangle(rec4, System.Drawing.Color.Black); renderer.DrawText(rec4, text, System.Drawing.Color.White, RendererFontFlags.Left, this.size * 0.35f, "Calibri"); } if (this.showCooldown) { float remainingCooldown2 = ability.RemainingCooldown; if (remainingCooldown2 > 0f) { renderer.DrawTexture("inventory_item_cd_bg", rec3, 0f, 1f); renderer.DrawText(rec3, Math.Ceiling((double)remainingCooldown2).ToString("N0"), System.Drawing.Color.White, RendererFontFlags.Center | RendererFontFlags.VerticalCenter, this.size * 0.7f, "Calibri"); } } rec += new Vector2(this.itemSize.X + 1f, 0f); } } vector += new Vector2(0f, (float)(this.size + 1)); } } } catch (InvalidOperationException) { } catch (Exception exception) { Logger.Error(exception, null); } }