protected override void DrawContents(Gdk.Drawable d, Cairo.Context g, int width, int height, bool screenChanged) { g.SelectFontFace(Text.MONOSPACE_FONT, FontSlant.Normal, FontWeight.Bold); g.SetFontSize(24); TextExtents te; string exp, next, llvl; #region Top Row DrawCharacterStatus(d, g); exp = Party.Selected.Exp.ToString(); next = Party.Selected.ExpToNextLevel.ToString(); llvl = Party.Selected.LimitLevel.ToString(); Text.ShadowedText(g, "Exp:", X + x8, Y + ya); Text.ShadowedText(g, "Next lvl:", X + x8, Y + yb); Text.ShadowedText(g, "Limit lvl:", X + x8, Y + yc); te = g.TextExtents(exp); Text.ShadowedText(g, exp, X + x11 - te.Width, Y + ya); te = g.TextExtents(next); Text.ShadowedText(g, next, X + x11 - te.Width, Y + yb); te = g.TextExtents(llvl); Text.ShadowedText(g, llvl, X + x11 - te.Width, Y + yc); #endregion Top #region Left string str, vit, dex, mag, spi, lck; string atk, atkp, def, defp, mat, mdf, mdfp; str = Party.Selected.Strength.ToString(); vit = Party.Selected.Vitality.ToString(); dex = Party.Selected.Dexterity.ToString(); mag = Party.Selected.Magic.ToString(); spi = Party.Selected.Spirit.ToString(); lck = Party.Selected.Luck.ToString(); atk = Ally.Attack(Party.Selected).ToString(); atkp = Ally.AttackPercent(Party.Selected).ToString(); def = Ally.Defense(Party.Selected).ToString(); defp = Ally.DefensePercent(Party.Selected).ToString(); mat = Ally.MagicAttack(Party.Selected).ToString(); mdf = Ally.MagicDefense(Party.Selected).ToString(); mdfp = Ally.MagicDefensePercent(Party.Selected).ToString(); Cairo.Color greenish = Colors.TEXT_TEAL; Text.ShadowedText(g, greenish, "Strength", X + x0, Y + yq + (line * 0)); Text.ShadowedText(g, greenish, "Vitality", X + x0, Y + yq + (line * 1)); Text.ShadowedText(g, greenish, "Dexterity", X + x0, Y + yq + (line * 2)); Text.ShadowedText(g, greenish, "Magic", X + x0, Y + yq + (line * 3)); Text.ShadowedText(g, greenish, "Spirit", X + x0, Y + yq + (line * 4)); Text.ShadowedText(g, greenish, "Luck", X + x0, Y + yq + (line * 5)); Text.ShadowedText(g, greenish, "Attack", X + x0, Y + yr + (line * 0)); Text.ShadowedText(g, greenish, "Attack %", X + x0, Y + yr + (line * 1)); Text.ShadowedText(g, greenish, "Defense", X + x0, Y + yr + (line * 2)); Text.ShadowedText(g, greenish, "Defense %", X + x0, Y + yr + (line * 3)); Text.ShadowedText(g, greenish, "Magic", X + x0, Y + yr + (line * 4)); Text.ShadowedText(g, greenish, "Magic def", X + x0, Y + yr + (line * 5)); Text.ShadowedText(g, greenish, "Magic def %", X + x0, Y + yr + (line * 6)); te = g.TextExtents(str); Text.ShadowedText(g, str, X + x1 - te.Width, Y + yq + (line * 0)); te = g.TextExtents(vit); Text.ShadowedText(g, vit, X + x1 - te.Width, Y + yq + (line * 1)); te = g.TextExtents(dex); Text.ShadowedText(g, dex, X + x1 - te.Width, Y + yq + (line * 2)); te = g.TextExtents(mag); Text.ShadowedText(g, mag, X + x1 - te.Width, Y + yq + (line * 3)); te = g.TextExtents(spi); Text.ShadowedText(g, spi, X + x1 - te.Width, Y + yq + (line * 4)); te = g.TextExtents(lck); Text.ShadowedText(g, lck, X + x1 - te.Width, Y + yq + (line * 5)); te = g.TextExtents(atk); Text.ShadowedText(g, atk, X + x1 - te.Width, Y + yr + (line * 0)); te = g.TextExtents(atkp); Text.ShadowedText(g, atkp, X + x1 - te.Width, Y + yr + (line * 1)); te = g.TextExtents(def); Text.ShadowedText(g, def, X + x1 - te.Width, Y + yr + (line * 2)); te = g.TextExtents(defp); Text.ShadowedText(g, defp, X + x1 - te.Width, Y + yr + (line * 3)); te = g.TextExtents(mat); Text.ShadowedText(g, mat, X + x1 - te.Width, Y + yr + (line * 4)); te = g.TextExtents(mdf); Text.ShadowedText(g, mdf, X + x1 - te.Width, Y + yr + (line * 5)); te = g.TextExtents(mdfp); Text.ShadowedText(g, mdfp, X + x1 - te.Width, Y + yr + (line * 6)); #endregion Left #region Right MateriaSlots.Render(g, Party.Selected.Weapon, X + x9, Y + yi); MateriaSlots.Render(g, Party.Selected.Armor, X + x9, Y + yk); g.Color = Colors.TEXT_TEAL; g.MoveTo(X + x7, Y + yh); g.ShowText("Wpn."); g.MoveTo(X + x7, Y + yj); g.ShowText("Arm."); g.MoveTo(X + x7, Y + yl); g.ShowText("Acc."); g.Color = Colors.WHITE; Text.ShadowedText(g, Party.Selected.Weapon.Name, X + x8, Y + yh); Text.ShadowedText(g, Party.Selected.Armor.Name, X + x8, Y + yj); Text.ShadowedText(g, Party.Selected.Accessory.Name, X + x8, Y + yl); #endregion Right }
protected override void DrawContents(Gdk.Drawable d, Cairo.Context g, int width, int height, bool screenChanged) { g.SelectFontFace(Text.MONOSPACE_FONT, FontSlant.Normal, FontWeight.Bold); g.SetFontSize(24); TextExtents te; #region Left int atk, atkp, def, defp, mat, mdf, mdfp; atk = Ally.Attack(MenuState.Party.Selected); atkp = Ally.AttackPercent(MenuState.Party.Selected); def = Ally.Defense(MenuState.Party.Selected); defp = Ally.DefensePercent(MenuState.Party.Selected); mat = Ally.MagicAttack(MenuState.Party.Selected); mdf = Ally.MagicDefense(MenuState.Party.Selected); mdfp = Ally.MagicDefensePercent(MenuState.Party.Selected); Cairo.Color greenish = Colors.TEXT_TEAL; Text.ShadowedText(g, greenish, "Attack", X + x0, Y + yr + (line * 0)); Text.ShadowedText(g, greenish, "Attack %", X + x0, Y + yr + (line * 1)); Text.ShadowedText(g, greenish, "Defense", X + x0, Y + yr + (line * 2)); Text.ShadowedText(g, greenish, "Defense %", X + x0, Y + yr + (line * 3)); Text.ShadowedText(g, greenish, "Magic", X + x0, Y + yr + (line * 4)); Text.ShadowedText(g, greenish, "Magic def", X + x0, Y + yr + (line * 5)); Text.ShadowedText(g, greenish, "Magic def %", X + x0, Y + yr + (line * 6)); te = g.TextExtents(atk.ToString()); Text.ShadowedText(g, atk.ToString(), X + x1 - te.Width, Y + yr + (line * 0)); te = g.TextExtents(atkp.ToString()); Text.ShadowedText(g, atkp.ToString(), X + x1 - te.Width, Y + yr + (line * 1)); te = g.TextExtents(def.ToString()); Text.ShadowedText(g, def.ToString(), X + x1 - te.Width, Y + yr + (line * 2)); te = g.TextExtents(defp.ToString()); Text.ShadowedText(g, defp.ToString(), X + x1 - te.Width, Y + yr + (line * 3)); te = g.TextExtents(mat.ToString()); Text.ShadowedText(g, mat.ToString(), X + x1 - te.Width, Y + yr + (line * 4)); te = g.TextExtents(mdf.ToString()); Text.ShadowedText(g, mdf.ToString(), X + x1 - te.Width, Y + yr + (line * 5)); te = g.TextExtents(mdfp.ToString()); Text.ShadowedText(g, mdfp.ToString(), X + x1 - te.Width, Y + yr + (line * 6)); if (MenuState.EquipList.IsControl) { int t_atk, t_atkp, t_def, t_defp, t_mat, t_mdf, t_mdfp; IInventoryItem temp; switch (MenuState.EquipTop.Option) { case 0: temp = MenuState.Party.Selected.Weapon; MenuState.Party.Selected.Weapon = (Weapon)MenuState.EquipList.Selection; break; case 1: temp = MenuState.Party.Selected.Armor; MenuState.Party.Selected.Armor = (Armor)MenuState.EquipList.Selection; break; case 2: temp = MenuState.Party.Selected.Accessory; MenuState.Party.Selected.Accessory = (Accessory)MenuState.EquipList.Selection; break; default: temp = MenuState.Party.Selected.Weapon; break; } t_atk = Ally.Attack(MenuState.Party.Selected); t_atkp = Ally.AttackPercent(MenuState.Party.Selected); t_def = Ally.Defense(MenuState.Party.Selected); t_defp = Ally.DefensePercent(MenuState.Party.Selected); t_mat = Ally.MagicAttack(MenuState.Party.Selected); t_mdf = Ally.MagicDefense(MenuState.Party.Selected); t_mdfp = Ally.MagicDefensePercent(MenuState.Party.Selected); switch (MenuState.EquipTop.Option) { case 0: MenuState.Party.Selected.Weapon = (Weapon)temp; break; case 1: MenuState.Party.Selected.Armor = (Armor)temp; break; case 2: MenuState.Party.Selected.Accessory = (Accessory)temp; break; default: break; } Color c; Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 0)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 1)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 2)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 3)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 4)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 5)); Text.ShadowedText(g, ">", X + x2, Y + yr + (line * 6)); te = g.TextExtents(t_atk.ToString()); if (t_atk < atk) { c = Colors.TEXT_RED; } else if (t_atk > atk) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_atk.ToString(), X + x3 - te.Width, Y + yr + (line * 0)); te = g.TextExtents(t_atkp.ToString()); if (t_atkp < atkp) { c = Colors.TEXT_RED; } else if (t_atkp > atkp) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_atkp.ToString(), X + x3 - te.Width, Y + yr + (line * 1)); te = g.TextExtents(t_def.ToString()); if (t_def < def) { c = Colors.TEXT_RED; } else if (t_def > def) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_def.ToString(), X + x3 - te.Width, Y + yr + (line * 2)); te = g.TextExtents(t_defp.ToString()); if (t_defp < defp) { c = Colors.TEXT_RED; } else if (t_defp > defp) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_defp.ToString(), X + x3 - te.Width, Y + yr + (line * 3)); te = g.TextExtents(t_mat.ToString()); if (t_mat < mat) { c = Colors.TEXT_RED; } else if (t_mat > mat) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_mat.ToString(), X + x3 - te.Width, Y + yr + (line * 4)); te = g.TextExtents(t_mdf.ToString()); if (t_mdf < mdf) { c = Colors.TEXT_RED; } else if (t_mdf > mdf) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_mdf.ToString(), X + x3 - te.Width, Y + yr + (line * 5)); te = g.TextExtents(t_mdfp.ToString()); if (t_mdfp < mdfp) { c = Colors.TEXT_RED; } else if (t_mdfp > mdfp) { c = Colors.TEXT_YELLOW; } else { c = Colors.WHITE; } Text.ShadowedText(g, c, t_mdfp.ToString(), X + x3 - te.Width, Y + yr + (line * 6)); } #endregion Left }