15 #include <luabind/luabind.hpp>
24 #include <boost/signals2.hpp>
26 namespace makVrfEvents
29 class DtInfluenceEvent;
51 #ifdef DtObjectDebugger_Enable
85 virtual void setLuaState(lua_State* L);
86 virtual lua_State* getLuaState();
88 virtual std::string dumpLuaStack()
const;
89 virtual int luaStackSize()
const;
90 virtual void collectGarbage();
117 virtual bool initializeVRFLuaExtensions(lua_State* L);
118 virtual bool importTaskParams(lua_State* L);
121 virtual bool importSetParams(lua_State* L);
124 virtual luabind::object createLuaTableFromRegistry(lua_State* L,
const DtReaderWriterRegistry& rwRegistry,
bool requireMetadata =
true,
bool hasParamMetaData =
true);
127 static void addKeyToIgnore(
const std::string&);
130 static void removeKeyToIgnore(
const std::string&);
133 void luaEndTask(
bool success);
142 virtual void luaStopScenarioEventWithRewind(
DtScriptVrfObject eventName,
bool rewind);
150 virtual int luaSendEmbeddedEntityTask(std::string eeName, std::string taskName, luabind::object
const& parms);
152 virtual int luaSendEmbeddedEntityTaskActAsSubtask(std::string eeName, std::string taskName,
153 luabind::object
const& parms,
bool actAsSubtask);
155 virtual int luaSendEmbeddedEntitySet(std::string eeName, std::string setName, luabind::object
const& parms);
160 int luaStartSubtask(
const std::string taskName, luabind::object
const& parameters);
162 void luaStopSubtask(
int subtaskId);
164 void luaStopAllSubtasks();
166 bool luaIsSubtaskRunning(
int subtaskId);
168 bool luaIsSubtaskComplete(
int subtaskId);
170 bool luaIsSubtaskCanceled(
int subtaskId);
172 bool luaSubtaskResult(
int subtaskId);
176 void luaCleanupInactiveSubtaskStatus();
180 void luaSendReportWithoutRecipients(const::std::string reportType,
181 luabind::object
const& parameters);
182 void luaSendReport(const::std::string reportType,
183 luabind::object
const& reciptients,
184 luabind::object
const& parameters);
188 luabind::object
const& parameters);
189 int luaSendTaskActAsSubtask(
DtScriptVrfObject&
object, const::std::string taskName,
190 luabind::object
const& parameters,
bool actAsSubtask);
192 luabind::object
const& parameters);
193 int luaSendRadioTaskActAsSubtask(
DtScriptVrfObject&
object, const::std::string taskName,
194 luabind::object
const& parameters,
bool actAsSubtask);
195 int luaSendTaskActAsSubtaskWithRadio(
DtScriptVrfObject&
object, const::std::string taskName,
196 luabind::object
const& parameters,
bool actAsSubtask,
bool sendWithRadio);
199 void luaStopAllTasks();
202 void luaSendSetDataToSelf(const::std::string setName,
203 luabind::object
const& parameters);
207 luabind::object
const& parameters);
209 luabind::object
const& parameters);
211 luabind::object
const& parameters,
bool useRadio);
213 bool luaIsTaskAvailable(const::std::string taskName);
214 bool luaIsSetAvailable(const::std::string setName);
217 luabind::object luaGetReactionStatus();
227 luabind::object luaGetOrbatList();
230 std::string luaGetScriptId();
233 std::string luaGetSystemName();
236 luabind::object luaGetObjectsNearWithFilter(
const DtLocation3D& loc,
double distance, luabind::object
const& parameters);
238 luabind::object luaGetScriptAttribute(
const std::string& attributeName,
bool&
error);
241 luabind::object luaGetVrfObjects();
245 luabind::object luaGetDesignatorsNearWithFilter(
const DtLocation3D& loc,
double distance,
246 const luabind::object& params);
248 luabind::object luaGetDesignatorsNear(
const DtLocation3D& loc,
double distance);
253 DtLuaFeatureSet luaGetFeaturesWithinArea(luabind::object
const& points, luabind::object
const& attributes);
256 DtLuaFeatureSet luaGetFeaturesWithinAreaNoAttributes(luabind::object
const& points);
281 boost::shared_ptr<DtLuaAsyncJob> generateRandomPoints(
const luabind::object& parameters);
284 boost::shared_ptr<DtLuaAsyncJob> findNearbyPointOfInterest(
const int type);
287 boost::shared_ptr<DtLuaAsyncJob> findCoverPoint(
289 double threatRadius,
double distanceFromThreat,
double range,
unsigned numberOfPoints);
292 luabind::object findLadders(lua_State* L,
const DtLocation3D& startLocation,
double range);
294 luabind::object findLaddersWithId(lua_State* L,
const DtLocation3D& startLocation,
double range,
const unsigned int id);
297 boost::shared_ptr<DtLuaAsyncJob> findPathToLocation(
299 bool useAbstractGraphs,
const DtLocation3D& avoidLocation,
double avoidanceRadius);
306 boost::shared_ptr<DtLuaAsyncJob> luaNavigateThroughFeatures(
const luabind::object& parameters);
310 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindHighPoints(
const luabind::object& corners,
unsigned int nPoints);
311 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindHighPointsDebug(
const luabind::object& corners,
unsigned int nPoints,
bool bDebug);
328 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindSinglePosition(
const luabind::object& targetAreaCorners,
330 double targetHeightMeters,
331 double viewHeightMeters,
332 double hideHeightMeters,
333 double forwardBackSearchLimitMeters,
334 double forwardBackSearchIntervalMeters,
335 double maxSlopeDegrees);
350 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindSinglePositionDebug(
const luabind::object& targetAreaCorners,
352 double targetHeightMeters,
353 double viewHeightMeters,
354 double hideHeightMeters,
355 double forwardBackSearchLimitMeters,
356 double forwardBackSearchIntervalMeters,
357 double maxSlopeDegrees,
374 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindVehicleFightingPositions(
unsigned int nPositionPairs,
375 const luabind::object& targetAreaCorners,
380 double forwardBackSearchLimit,
381 double sideSideSearchLimit,
382 double maxSlopeDegrees,
383 double positionSpacing);
386 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindVehicleFightingPositionsDebug(
unsigned int nPositionPairs,
387 const luabind::object& targetAreaCorners,
392 double forwardBackSearchLimit,
393 double sideSideSearchLimit,
394 double maxSlopeDegrees,
395 double positionSpacing,
398 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindPositionGroupsInAreaHilltop(
unsigned int nPositionPairsPerGroup,
399 const luabind::object& searchAreaVertices,
400 const luabind::object& targetsAreaVertices,
401 double viewHeightMeters,
402 double coverHeightMeters,
403 unsigned int forwardBackRangeMeters,
404 unsigned int sideSideRangeMeters,
405 unsigned int searchIntervalMeters,
406 double maxSlopeDegrees,
407 unsigned int positionsLateralSpacingMeters);
409 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindPositionGroupsInAreaHilltopDebug(
unsigned int nPositionPairsPerGroup,
410 const luabind::object& searchAreaVertices,
411 const luabind::object& targetsAreaVertices,
412 double viewHeightMeters,
413 double coverHeightMeters,
414 unsigned int forwardBackRangeMeters,
415 unsigned int sideSideRangeMeters,
416 unsigned int searchIntervalMeters,
417 double maxSlopeDegrees,
418 unsigned int positionsLateralSpacingMeters,
421 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindPositionGroupsInAreaRidge(
unsigned int nPositionPairsPerGroup,
422 const luabind::object& searchAreaVertices,
423 const luabind::object& targetsAreaVertices,
424 unsigned int targetsAreaSampleRate,
425 const luabind::object& tableOfDoubles
428 virtual boost::shared_ptr<DtLuaAsyncJob> luaFindPositionGroupsInAreaRidgeDebug(
unsigned int nPositionPairsPerGroup,
429 const luabind::object& searchAreaVertices,
430 const luabind::object& targetsAreaVertices,
431 unsigned int targetsAreaSampleRate,
432 const luabind::object& tableOfDoubles
437 boost::shared_ptr<DtLuaAsyncJob> getAllEmbarkationSlots(
DtScriptVrfObject&
object);
444 boost::shared_ptr<DtLuaAsyncJob> getEmbarkationSlotsFiltered(
DtScriptVrfObject&
object,
448 boost::shared_ptr<DtLuaAsyncJob> reserveEmbarkationSlot(
DtScriptVrfObject&
object,
int slotNumber);
451 boost::shared_ptr<DtLuaAsyncJob> getEmbarkationEgressPoints(
DtScriptVrfObject&
object);
453 void luaSendMessage(
const DtScriptVrfObject& receiver,
const std::string& message);
454 void luaSendRadioMessage(
const DtScriptVrfObject& receiver,
const std::string& message);
455 void luaSendRadioMessageToUuid(
const std::string& uuid,
const std::string& message);
456 void luaDeleteObject(std::string
const& receiver);
458 void luaSetInterest(
const DtLocation3D& location,
double range);
460 void luaSendObjectMessage(
const DtScriptVrfObject& receiver,
const std::string& messageType,
const luabind::object& messageContents);
461 void luaSendRadioObjectMessage(
const DtScriptVrfObject& receiver,
const std::string& messageType,
const luabind::object& messageContents);
462 void luaRegisterForObjectMessage(
const std::string& messageType);
463 void luaUnregisterForObjectMessage(
const std::string& messageType);
471 const std::string& influenceName, luabind::object
const& influenceParams);
476 static void influenceEventCallback(DtBoost::shared_ptr<const makVrfEvents::DtInfluenceEvent> event,
void* usr);
477 virtual void queueInfluence(DtBoost::shared_ptr<const makVrfEvents::DtInfluenceEvent> e);
478 virtual void processInfluence(DtBoost::shared_ptr<const makVrfEvents::DtInfluenceEvent> e);
484 luabind::object luaGetCloudLayerDescriptionsAt(lua_State *L,
const DtLocation3D& location);
492 virtual double luaGetExpectedIllumination(
DtScriptVrfObject&
object,
double dateAndTimeOfDay);
493 virtual double luaGetSnowAccumulationByLocation(
const DtLocation3D&
object);
494 virtual double luaGetSnowRoadAccumulationByLocation(
const DtLocation3D&
object);
495 virtual double luaGetRainAccumulationByLocation(
const DtLocation3D&
object);
497 virtual double luaGetAirTemperatureByLocation(
const DtLocation3D&
object);
498 virtual double luaGetAirPressureByLocation(
const DtLocation3D&
object);
499 virtual unsigned int luaGetPrecipitationByLocation(
const DtLocation3D& location,
double*);
500 virtual double luaGetPrecipitationIntensityByLocation(
const DtLocation3D&
object);
501 virtual unsigned int luaGetPrecipitationTypeByLocation(
const DtLocation3D&
object);
502 virtual double luaGetVisibilityDistanceByLocation(
const DtLocation3D&
object);
503 virtual int luaGetVisibilityObscurantByLocation(
const DtLocation3D&
object);
504 virtual double luaGetWindDirectionByLocation(
const DtLocation3D&
object);
505 virtual double luaGetWindSpeedByLocation(
const DtLocation3D&
object);
506 virtual double luaGetUnderwaterVisibilityByLocation(
const DtLocation3D&
object);
507 virtual unsigned int luaGetSwellStateByLocation(
const DtLocation3D&
object);
508 virtual double luaGetSwellStateDirectionByLocation(
const DtLocation3D&
object);
509 virtual unsigned int luaGetSeaStateByLocation(
const DtLocation3D&
object);
510 virtual double luaGetSeaStateDirectionByLocation(
const DtLocation3D&
object);
511 virtual double luaGetSurgeDepthByLocation(
const DtLocation3D&
object);
512 virtual double luaGetIlluminationByLocation(
const DtLocation3D&
object);
513 virtual double luaGetExpectedIlluminationByLocation(
const DtLocation3D&
object,
double dateAndTimeOfDay);
518 virtual double luaRunDurationTime();
519 virtual void luaRunForDuration(
double);
520 virtual void luaStopSimulationDurationTimer();
525 virtual void luaSetCheckpointMode(
bool);
526 virtual void initializeCheckpointStateTable(lua_State* L);
537 luabind::object
const& options,
int displayFlags);
539 luabind::object
const& options,
int displayFlags);
541 luabind::object
const& options,
int displayFlags);
542 virtual int luaAskUserQuestionSS(
const std::string& title,
const std::string& message,
543 luabind::object
const& options,
int displayFlags);
548 virtual int luaStatusOfUserQuestion(
int questionId);
551 virtual void luaCancelUserQuestion(
int questionId);
559 void luaCreateEntityParallel(luabind::object
const& parameters);
584 virtual std::vector<DtLocation3D> luaMakeOffsetPoints(luabind::object
const& fromPoints,
588 void luaCreateSelectionGroup(
const std::string& name, luabind::object
const& parameters);
593 void luaFinishTest(
const int status,
const std::string message);
596 bool luaUpdateTaskVisualization(
const std::string& visualizationName,
597 const std::string& visualizationType, luabind::object
const& parameters);
600 void luaDeleteTaskVisualization(
const std::string& visualizationName);
603 void luaRequire(lua_State* L,
const std::string&
filename);
607 unsigned luaBitwiseOr(
unsigned val1,
unsigned val2);
608 unsigned luaBitwiseAnd(
unsigned val1,
unsigned val2);
609 unsigned luaBitwiseXor(
unsigned val1,
unsigned val2);
610 unsigned luaBitwiseNot(
unsigned val);
611 unsigned luaBitwiseLeftShift(
unsigned val,
unsigned shift);
612 unsigned luaBitwiseRightShift(
unsigned val,
unsigned shift);
626 , myFunctionName(functionName)
638 return myFunctionName;
651 DtInfo <<
"DtLuaScriptFunctionReference::operator< attempt to compare with wrong type.\n";
663 const std::string& functionName);
667 const std::string& functionName);
680 virtual luabind::object luaGetParamPropertyFromType(
681 const std::string typeString, std::string
const& paramName);
684 virtual void putObjectsFromTableIntoGlobalTable(lua_State* state, luabind::object& table);
685 virtual void putObjectsFromGlobalTableIntoTable(lua_State* state, luabind::object& table);
688 virtual luabind::object luaGetSubordinateFunctionNames();
691 virtual luabind::object luaGetParameterSubordinateFunctionsFromType(
692 const std::string typeString);
695 virtual void connectForCallbacks();
696 virtual void processEvents();
699 boost::shared_ptr<DtLuaAsyncJob> luaGetWeaponSystemsInfo(
DtScriptVrfObject&
object);
705 virtual bool callLuaNoArgFunction(
const std::string& functionName,
bool* functionExists = 0);
707 virtual void updateFuncCallCount();
750 namespace luaScriptInterface
784 const std::string& formationName, luabind::object
const& options,
790 const std::string& formationName,
825 luabind::object
const& typeFilters,
bool observedOnly);
830 luabind::object
const& typeFilters,
bool observedOnly,
837 luabind::object
const& typeFilters,
bool observedOnly,
846 luabind::object
const& typeFilters,
847 luabind::object
const& flags);
852 const std::string& propertyName, luabind::object
const& prop);
858 const std::string& propertyName, luabind::object
const& prop,
bool addIfNotFound);
868 luabind::object
const& keyValues, luabind::object
const& itemValue);
877 int index, luabind::object
const& itemValue);
887 luabind::object
const& keyValue, luabind::object
const& itemValue);
908 luabind::object
const& keyValues,
int& index);
911 luabind::object
const& keyValues,
int& index);
936 luabind::object
const& keyValue);
939 luabind::object
const& keyValue);
960 luabind::object
const& keyValues,
int& index);
963 luabind::object
const& keyValues,
int& index);
988 luabind::object
const& keyValue);
991 luabind::object
const& keyValue);
995 const luabind::object & value,
virtual void invokePostSetDataCallback(DtScriptFunctionReferencePtr functionReference, DtSetDataRequestMessage *setDatRequest)=0
Implement to invoke the function referenced by functionReference. setDatRequest contains the informat...
virtual bool operator<(const DtScriptFunctionReference &other) const
Required for std::set.
Definition: luaScriptInterfaceImpl.h:641
virtual void processEntityDestroyed()
Can be overridden to perform some processing when the entity is destroyed.
Definition: scriptInterface.h:199
std::vector< DtVrfObjectMessage * > myTextReportCallbacks
Definition: luaScriptInterfaceImpl.h:737
virtual void addPostSetDataCallback(const DtSetMessageType &setDataType, DtScriptFunctionReferencePtr functionReference)
Adds a callback to be invoked after the specified type of set data request is executed.
virtual bool invokeInit()=0
luabind::object luaGetParameterPropertyListItemByIndex(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, int index)
Returns an object containing the value of the of an item in the given parameter property. The property must be a list. Returns the item at the given index, using the Lua convention that the first item is at index 1. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or list item could not be found, the returned table will be empty.
std::list< DtScriptVrfObject > luaGetContactsWithFilterAliveOnly(lua_State *L, const DtScriptOwnshipObject &entity, luabind::object const &typeFilters, bool observedOnly, bool aliveOnly)
Same as luaGetContactsWithFiler but adds a boolean flag to indicate that only non-destroyed entities ...
luabind::object luaGetParamProperty(lua_State *L, const DtScriptVrfObject &entity, std::string const ¶mName)
Returns an object containing the value of the requested parameter property. May be a table containing...
const char ContactObservedOnly[]
Definition: luaScriptInterfaceImpl.h:41
luabind::object * myCheckpointStateTable
Definition: luaScriptInterfaceImpl.h:731
luabind::object luaGetSubordinateFunctions(lua_State *L, const DtScriptVrfObject &entity)
Return a table of {{"subordinate" = DtScriptVrfObject, "function" = string}}.
static GlobalInterfaceExtensions theLuaInterfaceExtensions
Definition: luaScriptInterfaceImpl.h:729
std::vector< LuaExtension > GlobalInterfaceExtensions
Definition: luaScriptInterfaceImpl.h:727
lua_State * myLState
Definition: luaScriptInterfaceImpl.h:709
virtual bool invokeResume()=0
luabind::object luaGetStateOwnshipPropertyListItemByIndex(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, int index)
virtual bool loadState(const DtReaderWriter *savedState)=0
Called when the scenario is loaded. The load state pointer may not be valid, which does not indicate ...
bool luaSetSubordinateFunctions(lua_State *L, const DtScriptVrfObject &entity, luabind::object const &subsAndFunctions)
Given a table of {{"subordinate" = DtScriptVrfObject, "function" = string}} Set the state propert...
luabind::object luaGetStateOwnshipPropertyMapItem(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValue)
unsigned myFuncCallCount
Definition: luaScriptInterfaceImpl.h:710
luabind::object luaGetSubordinateFormation(lua_State *L, const DtScriptOwnshipObject &entity, DtScriptVrfObject &leadSubordinate)
Gets a table indexed by simObject (subordinates) of position offset relative to the formation leader...
virtual void invokeCheckInit()=0
luabind::object luaGetParameterPropertyListItem(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, luabind::object const &keyValues, int &index)
Returns an object containing the value of the of an item in the given parameter property. The property must be a list. The item returned will have values matching the specified key values in the key fields. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or list item could not be found, the returned table will be empty. Sets index to be the index of the item, using the Lua convention that the first item is at index 1.
Definition: readerWriter.h:85
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:265
Default on in debug, off in release.
Definition: objectCounter.h:31
luabind::object(* ReaderWriterToLuaTableFcn)(lua_State *LS, const DtReaderWriter *rwString, const DtSimulationServices *mgr, const DtString ¶meterType)
When adding decoder functions to turn reader/writer into lua tables, the format must be of the follow...
Definition: luaScriptInterfaceImpl.h:38
bool luaSetStatePropertyListItemByIndex(lua_State *L, DtScriptOwnshipObject &entity, const std::string &propertyName, int index, luabind::object const &itemValue)
Finds the item in the list at the specified index and updates it to the new value. If the list is not long enough, new entries are added. Any items added in this way will be given the same value as the new entry. If the property does not exist or the format of the data is incorrect, returns false.
virtual void removePostSetDataCallback(const DtSetMessageType &setDataType, DtScriptFunctionReferencePtr functionReference)
Remove a callback invoked after the specified type of set data request is executed.
Definition: readerWriterRegistry.h:39
virtual DtReaderWriter * saveState()=0
Called when the scenario is saved. The stateState pointer may not be valid, in which case something w...
luabind::object luaGetStatePropertyListItemByIndex(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, int index)
Returns an object containing the value of the of an item in the given state property. The state property must be a list. Returns the item at the given index, using the Lua convention that the first item is at index 1. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or list item could not be found, the returned table will be empty.
LocalInterfaceExtensions myInterfaceExtensions
Definition: luaScriptInterfaceImpl.h:714
virtual bool loadScript(bool reload=false)=0
This will be called by the parent to let the interface know when to load the script.
bool myLuaScriptWarningShown
Definition: luaScriptInterfaceImpl.h:711
static ReaderWriterToLuaTableMap theReaderWriterToLuaTableMap
Definition: luaScriptInterfaceImpl.h:734
luabind::object luaGetParameterSubordinateFunctions(lua_State *L, const DtScriptVrfObject &entity)
Gets a table of entity type and subordinate function handle pairs {{ENTITY_TYPE_STRING, FUNCTION_HANDLE_STRING}}.
std::list< DtScriptVrfObject > luaGetContactsWithFilter(lua_State *L, const DtScriptOwnshipObject &entity, luabind::object const &typeFilters, bool observedOnly)
This function supports the script API. It gets the list of contacts matching the given filter and ret...
std::string functionName() const
Definition: luaScriptInterfaceImpl.h:636
DtLuaScriptFunctionReference(const std::string &functionName)
Definition: luaScriptInterfaceImpl.h:624
luabind::object luaGetStatePropertyMapItem(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, luabind::object const &keyValue)
Returns an object containing the value of the of an item in the given state property. The state property must be a map. The item returned will have values matching the specified key value. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or map item could not be found, the returned table will be empty.
VectorOffset3D is a direction vector that is relative to some direction specified by a Vector3D...
Definition: scriptGeometry.h:424
Handles translation of messages from C++ structures into Lua tables and the reverse translation as we...
Definition: luaMessageInterface.h:23
luabind::object luaGetOwnshipParamProperty(lua_State *L, const DtScriptOwnshipObject &entity, std::string const ¶mName)
std::string luaGetSubordinateFunction(lua_State *L, const DtScriptVrfObject &entity, const DtScriptVrfObject &subEntity)
Return a string representing subordinate function for indicated subordinate.
LuaExtension(const LuaExtension &orig)
Definition: luaScriptInterfaceImpl.h:719
bool luaSetStatePropertyMapItem(lua_State *L, DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValue, luabind::object const &itemValue)
Sets a single item in a map state property to the given value. First looks in the map to see if any e...
virtual DtString type() const =0
Script engine type.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
Represents a feature geometry.
Definition: luaFeatureGeometry.h:25
luabind::object luaGetStateOwnshipPropertyListItem(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValues, int &index)
static const std::map< DtString, rwToLuaBindObjectFcn > & rwToLuaBindObjectMap()
const DtLocalObject * onlyForEntity
Definition: luaScriptInterfaceImpl.h:723
Definition: luaScriptInterfaceImpl.h:49
luabind::object luaGetOwnshipParameterPropertyListItem(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValues, int &index)
bool luaSetStateProperty(lua_State *L, DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &prop)
Sets the specified state property with the given value. If the property does not exist or the format ...
luabind::object luaGetSystemAttribute(const DtScriptComponentSystem &system, const std::string &attributeName, bool *error, lua_State *L)
luabind::object(* rwToLuaBindObjectFcn)(const DtReaderWriter *rw, lua_State *L)
Definition: luaScriptInterfaceImpl.h:752
virtual void invokeDisable()=0
Only called for reactive tasks which can be enabled but not active. When the task is completely disab...
std::vector< DtBoost::shared_ptr< const makVrfEvents::DtInfluenceEvent > > myInfluenceEvents
Definition: luaScriptInterfaceImpl.h:738
virtual void invokeTick()=0
This will be called by the parent to invoke the script tick.
std::list< DtVectorOffset3D > luaGetFormationPositions(lua_State *L, const DtScriptVrfObject &unit, const std::string &formationName, int *leaderIndex)
Calls luaGetOptionFormationPositions with empty options.
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
bool luaSetStatePropertyListItem(lua_State *L, DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValues, luabind::object const &itemValue)
Sets a single item in a list state property to the given value. First looks in the list to see if any...
const char ContactAliveOnly[]
Definition: luaScriptInterfaceImpl.h:42
boost::shared_ptr< DtScriptFunctionReference > DtScriptFunctionReferencePtr
Shared ptr to DtScriptFunctionReference.
Definition: scriptInterface.h:53
luabind::object luaGetStatePropertyListItem(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, luabind::object const &keyValues, int &index)
Returns an object containing the value of the of an item in the given state property. The state property must be a list. The item returned will have values matching the specified key values in the key fields. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or list item could not be found, the returned table will be empty. Sets index to be the index of the item, using the Lua convention that the first item is at index 1.
This stream is used by the scripting classes to be able to send out translatable messages from script...
Definition: translatableStream.h:22
luabind::object luaGetContactInfo(lua_State *L, const DtScriptOwnshipObject &thisEntity, const DtScriptVrfObject &otherEntity)
Gets the perceived contact info that this entity has for another entity.
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
Override of DtScriptInterface::DtScriptFunctionReference that holds a function reference by function ...
Definition: luaScriptInterfaceImpl.h:621
std::vector< DtLuaScriptInterfaceExtension * > LocalInterfaceExtensions
Definition: luaScriptInterfaceImpl.h:713
Abstract object used to hold a reference to a function defined in the script language, to be used later to invoke that function. Used for registering callbacks to be invoked after specified types of set data requests are executed. For this functionality to be used in a derived script interface implementation, a derived class must be implemented to represent a reference to a function in the script language.
Definition: scriptInterface.h:42
luabind::object luaGetEntityParam(lua_State *L, const DtScriptVrfObject &entity, std::string const ¶mName)
luabind::object luaGetStateProperty(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName)
Returns an object containing the value of the requested state property. May be a table containing a n...
virtual void processClearForReuse()
This function should be overridden by the inheritor to clear out any task specific variables...
Definition: asyncJobServer.h:39
bool luaSetSubordinateFunction(lua_State *L, const DtScriptVrfObject &entity, const DtScriptVrfObject &subEntity, const std::string &subFunction)
Given a table of {{"subordinate" = DtScriptVrfObject, "function" = string}} Set the state propert...
Contains the DtTranslatableStream class declaration.
const char ContactCurrentlyDetectedOnly[]
Definition: luaScriptInterfaceImpl.h:44
DtLuaScriptInterfaceExtension *(* CreatorFcn)(void *usr)
Prototype for DtLuaScriptInterfaceExtension creator function.
Definition: luaScriptInterfaceExtension.h:37
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
luabind::object luaGetOwnshipParameterPropertyMapItem(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &keyValue)
DtScriptInterface & operator=(const DtScriptInterface &other)
virtual bool invokeCheck()=0
The DtLuaFeatureSet class is a wrapper around a DtFeatureSet that will provide feature information fo...
Definition: luaFeatureSet.h:28
LuaExtension()
Definition: luaScriptInterfaceImpl.h:718
std::map< DtString, ReaderWriterToLuaTableFcn > ReaderWriterToLuaTableMap
Definition: luaScriptInterfaceImpl.h:733
DtLuaScriptInterfaceExtension.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
bool luaSetSystemAttribute(DtScriptComponentSystem &system, const std::string &attributeName, const luabind::object &value, lua_State *L)
Contains Extended DI-Guy Object net types.
luabind::object luaGetTargetPriorityList(lua_State *L, const DtScriptOwnshipObject &thisEntity)
Gets the target priority list that this entity has.
void * usr
Definition: luaScriptInterfaceImpl.h:724
const char ContactHostileOnly[]
Definition: luaScriptInterfaceImpl.h:43
Definition: luaScriptInterfaceImpl.h:716
The "this" version is the own-ship object. It is separated to allow special functions for the ownshi...
Definition: scriptVrfObject.h:385
DtLuaMessageInterface * myMessageInterface
Definition: luaScriptInterfaceImpl.h:735
std::list< DtVectorOffset3D > luaGetOptionFormationPositions(lua_State *L, const DtScriptVrfObject &unit, const std::string &formationName, luabind::object const &options, int *leaderIndex)
Gets a list of offset vectors defining the positions in the formation. Returns the index of the leade...
This class is a wrapper for a DtCompSystem for use by scripts. It derives from DtAsciiSerializable so...
Definition: scriptComponentSystem.h:18
This class is a two-way interface between the script language and its parent controller. There are functions that either the parent controller will call on the script interface (such as tick() ) and there will be functions the script interface will call on the parent controller to inform the parent of status updates and for data access.
Definition: scriptInterface.h:31
std::string myFunctionName
Definition: luaScriptInterfaceImpl.h:657
luabind::object luaGetOwnshipParameterPropertyListItemByIndex(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName, int index)
virtual void invokeSuspend()=0
voidpf uLong offset
Definition: ioapi.h:42
A DtSetDataRequestMessage is a DtRadioMsg with a pointer to a setDataRequest. The type of the DtSetDa...
Definition: setDataRequestMessage.h:29
luabind::object luaGetStateOwnshipProperty(lua_State *L, const DtScriptOwnshipObject &entity, const std::string &propertyName)
bool luaSetOrAddStateProperty(lua_State *L, DtScriptOwnshipObject &entity, const std::string &propertyName, luabind::object const &prop, bool addIfNotFound)
Sets the specified state property with the given value. If not found and addIfNotFound is true...
std::list< DtScriptVrfObject > luaGetContacts(lua_State *L, const DtScriptOwnshipObject &entity, luabind::object const &typeFilters, luabind::object const &flags)
Lua "getContacts()" Return a list of contacts matching the given table of entity type filters...
luabind::object luaGetParameterPropertyMapItem(lua_State *L, const DtScriptVrfObject &entity, const std::string &propertyName, luabind::object const &keyValue)
Returns an object containing the value of the of an item in the given parameter property. The property must be a map. The item returned will have values matching the specified key value. The result may be a table containing a number of fields that make up the item, or a single value, depending on the data type of the list items. If the property or map item could not be found, the returned table will be empty.
std::list< DtScriptVrfObject > luaGetHostileContactsWithFilterAliveOnly(lua_State *L, const DtScriptOwnshipObject &entity, luabind::object const &typeFilters, bool observedOnly, bool aliveOnly)
This function is the same as luaGetContactsWithFilterAliveOnly, but it returns only hostile contacts...
virtual void invokeShutdown()=0
virtual void invokeUpdateDisplayGraph()=0
Called when graphs are enabled to get an immediate graph output.
virtual ~DtLuaScriptFunctionReference()
Definition: luaScriptInterfaceImpl.h:631
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
Definition: scriptVrfObject.h:29
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22