Pārlūkot izejas kodu

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.
AlexBarys 8 gadi atpakaļ
vecāks
revīzija
3639d5b048
1 mainītis faili ar 25 papildinājumiem un 0 dzēšanām
  1. 25 0
      Engine/source/T3D/turret/aiTurretShape.cpp

+ 25 - 0
Engine/source/T3D/turret/aiTurretShape.cpp

@@ -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 "