33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
namespace Barotrauma
|
|
{
|
|
abstract partial class AIObjective
|
|
{
|
|
public static Sprite GetSprite(string identifier, string option, Entity targetEntity)
|
|
{
|
|
if (string.IsNullOrEmpty(identifier))
|
|
{
|
|
return null;
|
|
}
|
|
identifier = identifier.RemoveWhitespace();
|
|
if (Order.Prefabs.TryGetValue(identifier, out Order orderPrefab))
|
|
{
|
|
if (!string.IsNullOrEmpty(option) && orderPrefab.OptionSprites.TryGetValue(option, out var optionSprite))
|
|
{
|
|
return optionSprite;
|
|
}
|
|
if (targetEntity is Item targetItem && targetItem.Prefab.MinimapIcon != null)
|
|
{
|
|
return targetItem.Prefab.MinimapIcon;
|
|
}
|
|
return orderPrefab.SymbolSprite;
|
|
}
|
|
return GUI.Style.GetComponentStyle($"{identifier}objectiveicon")?.GetDefaultSprite();
|
|
}
|
|
|
|
public Sprite GetSprite()
|
|
{
|
|
return GetSprite(Identifier, Option, (this as AIObjectiveOperateItem)?.OperateTarget);
|
|
}
|
|
}
|
|
}
|