Decimation_Mod/Lib/Amulets/AmuletTooltip.cs
FyloZ ec4585bed5 - Changed Bloodshot Eye's music to Boss 1 Orchestra ( https://www.youtube.com/watch?time_continue=120&v=r-9nKGc85FQ )
- Added support for animated projectiles
- Refactoring
- Removed useless fields
- Fixed swords not dealing damages
- Added Hour Hand (from Evie's PR)
2020-03-21 00:11:07 -04:00

69 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Terraria.ModLoader;
using Terraria.UI.Chat;
namespace Decimation.Lib.Amulets
{
public class AmuletTooltip
{
private readonly Amulet _amulet;
private readonly Color _classColor = ChatManager.WaveColor(Color.Fuchsia);
private readonly Color _effectColor = Color.ForestGreen;
private readonly Mod _mod;
private readonly Color _synergyColor = Color.CadetBlue;
private int _effectCount;
private bool _hasSynergy;
public AmuletTooltip(Mod mod, Amulet amulet)
{
_mod = mod;
_amulet = amulet;
this.Lines = new List<TooltipLine>();
SetClassTooltip();
}
public List<TooltipLine> Lines { get; set; }
private void SetClassTooltip()
{
this.Lines.Add(new TooltipLine(_mod, "DecimationAmuletClass", _amulet.AmuletClass.ToString("F"))
{
overrideColor = _classColor
});
}
public AmuletTooltip AddEffect(string tooltip)
{
this.Lines.Add(new TooltipLine(_mod, $"Effect{_effectCount}", tooltip)
{
overrideColor = _effectColor
});
_effectCount++;
return this;
}
public AmuletTooltip AddSynergy(string tooltip)
{
if (!_hasSynergy)
{
this.Lines.Add(new TooltipLine(_mod, "Synergy", tooltip)
{
overrideColor = _synergyColor
});
_hasSynergy = true;
}
else
{
throw new InvalidOperationException($"Can't add more than one synergy tooltip to {_amulet.Name}");
}
return this;
}
}
}