Implementation for two new features

Added implementation to expose two new functionalities from the c++ to Torquescript as requested in issue #1272.  Added both a DefineEngineMethod function for getting the count of the number of objects on the turret ignore list and a DefineEngineMethod function for returning a reference to the object on the ignore list at a given index on the ignore list.  Also added functions that do each of those things and are then encapsulated by those DefineEngineMethod functions.
This commit is contained in:
AlexBarys 2017-04-23 18:58:40 -04:00 committed by GitHub
parent ea3eb65efd
commit 1cddf09590

View file

@ -564,6 +564,16 @@ void AITurretShape::removeFromIgnoreList(ShapeBase* obj)
mIgnoreObjects.removeObject(obj);
}
S32 AITurretShape::ignoreListCount()
{
return mIgnoreObjects.size();
}
SimObject* AITurretShape::getIgnoreListObject(S32 index)
{
return mIgnoreObjects.at(index);
}
//----------------------------------------------------------------------------
void AITurretShape::_initState()
@ -1244,6 +1254,21 @@ DefineEngineMethod( AITurretShape, removeFromIgnoreList, void, (ShapeBase* obj),
object->removeFromIgnoreList(obj);
}
DefineEngineMethod( AITurretShape, ignoreListCount, S32, (),,
"@brief Returns the number of objects in the turrets ignore list.\n\n"
"All objects in this list will be ignored by the turret's targeting.\n")
{
return object->ignoreListCount();
}
DefineEngineMethod( AITurretShape, getIgnoreListObject, SimObject*, (S32 index),,
"@brief Returns the object in the ignore list at index.\n\n"
"All objects in this list will be ignored by the turret's targeting.\n"
"@param index The index of the object in the ignore list being retrieved.\n")
{
return object->getIgnoreListObject(index);
}
DefineEngineMethod( AITurretShape, setTurretState, void, (const char* newState, bool force), (false),
"@brief Set the turret's current state.\n\n"
"Normally the turret's state comes from updating the state machine but this method "