package bayesGame.minigame;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import bayesGame.bayesbayes.BayesNet;
import bayesGame.bayesbayes.OptionNode;
import bayesGame.bayesbayes.OptionNodeOption;
import bayesGame.bayesbayes.nodeCPD.NodeCPD;
public class DiscussionNet extends BayesNet {
private Map<Object,OptionNode> optionNodes;
public DiscussionNet() {
super();
optionNodes = new HashMap<Object,OptionNode>();
}
public void addNode (OptionNode node){
if (super.addNode(node.type)){
optionNodes.put(node.type, node);
}
}
public void addNode(OptionNode node, NodeCPD cpd, Object... parents){
// gahh this is gonna blow up at some point, fix
if (super.addNodeWithParents(node.type, cpd, parents)){
optionNodes.put(node.type, node);
}
}
public List<OptionNodeOption> getOptions(Object object) {
OptionNode optionNode = optionNodes.get(object);
if (optionNode != null){
return optionNode.getOptions();
} else {
return null;
}
}
public void addSkillNode(String name, String... skill) {
OptionNode node = new OptionNode(name);
node.addSkill(skill);
this.addNode(node);
}
}