using Content.Shared.Mind; using Robust.Shared.Utility; namespace Content.Shared.Objectives.Interfaces { // TODO refactor all of this to be ecs public interface IObjectiveCondition { /// /// Returns a copy of the IObjectiveCondition which is assigned to the mind. /// /// Mind id to assign to. /// Mind to assign to. /// The new IObjectiveCondition. IObjectiveCondition GetAssigned(EntityUid mindId, MindComponent 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; } } }