Files
TiedUp-/src/main/java/com/tiedup/remake/state/ISaleable.java
NotEvil a71093ba9c Remove internal phase comments and format code
Strip all Phase references, TODO/FUTURE roadmap notes, and internal
planning comments from the codebase. Run Prettier for consistent
formatting across all Java files.
2026-04-12 01:25:55 +02:00

39 lines
833 B
Java

package com.tiedup.remake.state;
import com.tiedup.remake.util.tasks.ItemTask;
import org.jetbrains.annotations.Nullable;
/**
* Standalone sale state interface for entities that can be put up for sale.
*
* @see IRestrainable
*/
public interface ISaleable {
/**
* Check if this entity is marked for sale by a captor.
*
* @return true if captive is being sold
*/
boolean isForSell();
/**
* Get the sale price for this captive.
*
* @return The sale price ItemTask, or null if not for sale
*/
@Nullable
ItemTask getSalePrice();
/**
* Mark this captive as for sale with the given price.
*
* @param price The sale price
*/
void putForSale(ItemTask price);
/**
* Cancel the sale and reset sale state.
*/
void cancelSale();
}