#nullable enable using System; using Content.Server.Mobs; using Robust.Shared.Interfaces.Serialization; using Robust.Shared.Serialization; using Robust.Shared.Utility; namespace Content.Server.Objectives.Interfaces { public interface IObjectiveCondition : IExposeData, IEquatable { /// /// Returns a copy of the IObjectiveCondition which is assigned to the mind. /// /// Mind to assign to. /// The new IObjectiveCondition. IObjectiveCondition GetAssigned(Mind mind); /// /// Returns the title of the condition. /// string Title { get; } /// /// Returns the description of the condition. /// string Description { get; } /// /// Returns a SpriteSpecifier to be used as an icon for the condition. /// SpriteSpecifier Icon { get; } /// /// Returns the current progress of the condition in % from 0 to 1. /// /// Current progress in %. float Progress { get; } /// /// Returns a difficulty of the condition. /// float Difficulty { get; } void IExposeData.ExposeData(ObjectSerializer serializer){} } }