Hi everyone, I am trying to match the lhs of a rule using a template that has 112 slots that is defined from a Java class.
Here is the template definition (from show-deftemplates): (deftemplate MAIN::unit "$JAVA-OBJECT$ eisbot.proxy.model.Unit" (declare (from-class eisbot.proxy.model.Unit))) Now every time that I encounter a unit object in my application I define an instance of the unit to Jess from Java: engine.defclass("unit", "eisbot.proxy.model.Unit", null, true); (I only do this the first time) Unit unit = //retrieve a unit engine.definstance("unit", unit, false); All of this above is working as it should be, but now when I try to match a unit in a rule I am having trouble: String unitSeen = "(defrule unitSeen " + "(unit (ID ?id) (typeID ?typeID)) " + "=> " + "(printout t \"Unit seen with ID: \" ?id crlf))"; engine.executeCommand(unitSeen); The problem is that the Unit class has 112 attributes, I am only listing two ID and typeID, and there are probably only another handful that I care about and need to use. Is there any way to ignore the rest of the slots in the template, matching only on a few slots? Goal: The main goal of what I am trying to is that when I encounter a Unit in my game application, I want to assert that unit object to Jess as a fact, then match rules on the existence of a Unit. Right now I only want to match on the existence of ANY unit, but later on the matches will be more specific. Any help would be most appreciated. Thanks. Hunter McMillen