This repository has been archived on 2022-12-21. You can view files and clone it, but cannot push or open issues or pull requests.
sdm03/src/main/java/com/github/dtschust/zork/objects/ZorkItem.java

44 lines
1.4 KiB
Java
Raw Normal View History

package com.github.dtschust.zork.objects;
2022-11-22 09:12:04 +00:00
import com.github.dtschust.zork.ZorkTrigger;
import com.github.dtschust.zork.types.HasPrintsAndActions;
2022-11-22 09:12:04 +00:00
import java.util.ArrayList;
2022-11-22 09:12:04 +00:00
import java.util.Collection;
2022-11-21 16:10:08 +00:00
import java.util.Collections;
import java.util.List;
/* Item*/
2022-11-21 16:10:08 +00:00
public class ZorkItem extends ZorkObject implements HasPrintsAndActions {
2022-11-22 10:27:56 +00:00
private final String writing;
2022-11-21 16:10:08 +00:00
private final List<String> turnOnPrint;
private final List<String> turnOnAction;
public ZorkItem(final String name,
final String description,
2022-11-22 09:12:04 +00:00
final String status,
final String writing,
2022-11-22 09:12:04 +00:00
final Collection<ZorkTrigger> triggers,
final Collection<String> turnOnPrint,
final Collection<String> turnOnAction) {
super(name, description, status, triggers);
this.writing = writing;
2022-11-21 16:10:08 +00:00
this.turnOnPrint = new ArrayList<>(turnOnPrint);
this.turnOnAction = new ArrayList<>(turnOnAction);
}
2022-11-22 10:27:56 +00:00
public String getWriting() {
return writing != null && !writing.isEmpty() ? writing : "Nothing written.";
}
2022-11-21 16:10:08 +00:00
@Override
public List<String> getPrints() {
return Collections.unmodifiableList(turnOnPrint);
}
@Override
public List<String> getActions() {
return Collections.unmodifiableList(turnOnAction);
}
}