Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaClient/ClientSource/Characters/AI/Objectives/AIObjective.cs
2022-02-26 02:43:01 +09:00

37 lines
1.2 KiB
C#

using Microsoft.Xna.Framework;
namespace Barotrauma
{
abstract partial class AIObjective
{
public static Color ObjectiveIconColor => Color.LightGray;
public static Sprite GetSprite(Identifier identifier, Identifier option, Entity targetEntity)
{
if (identifier == Identifier.Empty)
{
return null;
}
if (OrderPrefab.Prefabs.ContainsKey(identifier))
{
OrderPrefab orderPrefab = OrderPrefab.Prefabs[identifier];
if (option != Identifier.Empty && 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 GUIStyle.GetComponentStyle($"{identifier}objectiveicon")?.GetDefaultSprite();
}
public Sprite GetSprite()
{
return GetSprite(Identifier, Option, (this as AIObjectiveOperateItem)?.OperateTarget);
}
}
}