Files
TiedUp-/src/main/java/com/tiedup/remake/state/ISaleable.java
NotEvil f6466360b6 Clean repo for open source release
Remove build artifacts, dev tool configs, unused dependencies,
and third-party source dumps. Add proper README, update .gitignore,
clean up Makefile.
2026-04-12 00:51:22 +02:00

40 lines
834 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();
}