コード例 #1
0
void IBActionDef_FindPath::Define()
{
	AddVariable("Start");
	AddVariable("Target");
	AddVariable("Path");
	AddVariable("Dist");

	AddPostCondition("IBFactDef_HasValidPath", "Path", "Start", "Target", "Dist");
}
コード例 #2
0
void IBActionDef_PushProp::Define()
{
	AddVariable("Obj");    // BLObject
	AddVariable("PushPos"); // IBVector2
	AddVariable("ObjPos"); // IBVector2
	AddVariable("DestPos"); // IBVector2
	AddVariable("Dist");   // IBInt = 0

	AddPreCondition("IBFactDef_PosIsFree", "DestPos");
	AddPreCondition("IBFactDef_ObjectAtPos", "Obj", "ObjPos");
	AddPreCondition("IBFactDef_PropIsMovable", "Obj");
	AddPreCondition("IBFactDef_BotNearPos", "PushPos", "Dist");
	AddPreCondition("IBFactDef_PosIsFree", "PushPos");

	AddPostCondition("IBFactDef_ObjectAtPos", "Obj", "DestPos");
	AddPostCondition("IBFactDef_PosIsFree", "ObjPos");

	AddCounterPostCondition("IBFactDef_PosIsFree", "DestPos");
}
コード例 #3
0
void IBActionDef_UnblockProp::Define()
{
	AddVariable("Obj");    // BLObject
	AddVariable("ObjPos"); // IBVector2
	AddVariable("Dist");   // IBInt = 1

	AddPreCondition("IBFactDef_BotNearPos", "ObjPos", "Dist");
	AddPreCondition("IBFactDef_PropIsBlock", "Obj");

	AddPostCondition("IBFactDef_PropIsUnblock", "Obj");
}
コード例 #4
0
void IBActionDef_BoolToBool::Define()
{
	AddPreCondition("IBFactDef_Bool", true, "VarIn");
	AddPostCondition("IBFactDef_Bool", true, "VarOut");
}