/// <summary> /// Prepares the tooltip with the specified item info. /// </summary> /// <param name="itemInfo">Item info.</param> public static void PrepareTooltip(UIItemInfo itemInfo) { if (itemInfo == null) { return; } // Set the tooltip width if (UITooltipManager.Instance != null) { UITooltip.SetWidth(UITooltipManager.Instance.itemTooltipWidth); } // Set the title and description UITooltip.AddTitle("<color=#" + UIItemQualityColor.GetHexColor(itemInfo.Quality) + ">" + itemInfo.Name + "</color>"); // Spacer UITooltip.AddSpacer(); // Item types UITooltip.AddLineColumn(itemInfo.Type, "ItemAttribute"); UITooltip.AddLineColumn(itemInfo.Subtype, "ItemAttribute"); if (itemInfo.ItemType == 1) { UITooltip.AddLineColumn(itemInfo.Damage.ToString() + " Damage", "ItemAttribute"); UITooltip.AddLineColumn(itemInfo.AttackSpeed.ToString("0.0") + " Attack speed", "ItemAttribute"); UITooltip.AddLine("(" + ((float)itemInfo.Damage / itemInfo.AttackSpeed).ToString("0.0") + " damage per second)", "ItemAttribute"); } else { UITooltip.AddLineColumn(itemInfo.Armor.ToString() + " Armor", "ItemAttribute"); UITooltip.AddLineColumn(itemInfo.Block.ToString() + " Block", "ItemAttribute"); } UITooltip.AddSpacer(); UITooltip.AddLine("+" + itemInfo.Stamina.ToString() + " Stamina", "ItemStat"); UITooltip.AddLine("+" + itemInfo.Strength.ToString() + " Strength", "ItemStat"); UITooltip.AddSpacer(); UITooltip.AddLine("Durability " + itemInfo.Durability + "/" + itemInfo.Durability, "ItemAttribute"); if (itemInfo.RequiredLevel > 0) { UITooltip.AddLine("Requires Level " + itemInfo.RequiredLevel, "ItemAttribute"); } // Set the item description if not empty if (!string.IsNullOrEmpty(itemInfo.Description)) { UITooltip.AddSpacer(); UITooltip.AddLine(itemInfo.Description, "ItemDescription"); } }
/// <summary> /// Raises the tooltip event. /// </summary> /// <param name="show">If set to <c>true</c> show.</param> public override void OnTooltip(bool show) { UITooltip.InstantiateIfNecessary(this.gameObject); // Handle unassigned if (!this.IsAssigned()) { // If we are showing the tooltip if (show) { UITooltip.AddTitle(UIEquipSlot.EquipTypeToString(this.m_EquipType)); UITooltip.SetHorizontalFitMode(ContentSizeFitter.FitMode.PreferredSize); UITooltip.AnchorToRect(this.transform as RectTransform); UITooltip.Show(); } else { UITooltip.Hide(); } } else { // Make sure we have spell info, otherwise game might crash if (this.m_ItemInfo == null) { return; } // If we are showing the tooltip if (show) { UIItemSlot.PrepareTooltip(this.m_ItemInfo); UITooltip.AnchorToRect(this.transform as RectTransform); UITooltip.Show(); } else { UITooltip.Hide(); } } }
/// <summary> /// Prepares the tooltip with the specified item info. /// </summary> /// <param name="itemInfo">Item info.</param> public static void PrepareTooltip(UIItemInfo itemInfo) { if (itemInfo == null) { return; } // Set the title and description UITooltip.AddTitle(itemInfo.Name); // Item types UITooltip.AddLineColumn(itemInfo.Type); UITooltip.AddLineColumn(itemInfo.Subtype); if (itemInfo.ItemType == 1) { UITooltip.AddLineColumn(itemInfo.Damage.ToString() + " Damage"); UITooltip.AddLineColumn(itemInfo.AttackSpeed.ToString("0.0") + " Attack speed"); UITooltip.AddLine("(" + ((float)itemInfo.Damage / itemInfo.AttackSpeed).ToString("0.0") + " damage per second)"); } else { UITooltip.AddLineColumn(itemInfo.Block.ToString() + " Block"); UITooltip.AddLineColumn(itemInfo.Armor.ToString() + " Armor"); } UITooltip.AddLine("+" + itemInfo.Stamina.ToString() + " Stamina", new RectOffset(0, 0, 6, 0)); UITooltip.AddLine("+" + itemInfo.Strength.ToString() + " Strength"); // Set the item description if not empty if (!string.IsNullOrEmpty(itemInfo.Description)) { UITooltip.AddDescription(itemInfo.Description); } }
public static void PrepareTooltip(UISpellInfo spellInfo) { // Make sure we have spell info, otherwise game might crash if (spellInfo == null) { return; } // Set the spell name as title UITooltip.AddTitle(spellInfo.Name); // Prepare some attributes if (spellInfo.Flags.Has(UISpellInfo_Flags.Passive)) { UITooltip.AddLine("Passive"); } else { // Power consumption if (spellInfo.PowerCost > 0f) { if (spellInfo.Flags.Has(UISpellInfo_Flags.PowerCostInPct)) { UITooltip.AddLineColumn(spellInfo.PowerCost.ToString("0") + "% Energy"); } else { UITooltip.AddLineColumn(spellInfo.PowerCost.ToString("0") + " Energy"); } } // Range if (spellInfo.Range > 0f) { if (spellInfo.Range == 1f) { UITooltip.AddLineColumn("Melee range"); } else { UITooltip.AddLineColumn(spellInfo.Range.ToString("0") + " yd range"); } } // Cast time if (spellInfo.CastTime == 0f) { UITooltip.AddLineColumn("Instant"); } else { UITooltip.AddLineColumn(spellInfo.CastTime.ToString("0.0") + " sec cast"); } // Cooldown if (spellInfo.Cooldown > 0f) { UITooltip.AddLineColumn(spellInfo.Cooldown.ToString("0.0") + " sec cooldown"); } } // Set the spell description if not empty if (!string.IsNullOrEmpty(spellInfo.Description)) { UITooltip.AddDescription(spellInfo.Description); } }