16 #include <vl/globalObjectDesignator.h>
17 #include <vlpi/entityIdentifier.h>
19 namespace MAKVrExchange
22 namespace DtTenaBroker
25 class DtFireInteraction;
26 class DtDetonationInteraction;
29 typedef void (*DtDetonationInteractionCb)(DtDetonationInteraction* inter,
void* usr);
34 class DT_DLL_VLTENA DtDetonationInteraction :
public DtInteraction
39 DtDetonationInteraction();
42 virtual ~DtDetonationInteraction();
45 DtDetonationInteraction(
const DtDetonationInteraction& orig);
48 DtDetonationInteraction& operator=(
49 const DtDetonationInteraction& orig);
52 DtDetonationInteraction(
const DtFireInteraction& fire);
55 virtual void setAttackerId(
const DtGlobalObjectDesignator&
id);
58 virtual const DtGlobalObjectDesignator& attackerId()
const;
61 virtual void setTargetId(
const DtGlobalObjectDesignator&
id);
64 virtual const DtGlobalObjectDesignator& targetId()
const;
68 virtual void setWorldLocation(
const DtVector64& loc);
71 virtual const DtVector64& worldLocation()
const;
75 virtual void setVelocity(
const DtVector32& vel);
78 virtual const DtVector32& velocity()
const;
81 virtual void setMunitionId(
const DtGlobalObjectDesignator&
id);
84 virtual const DtGlobalObjectDesignator& munitionId()
const;
87 virtual void setMunitionType(
const DtEntityType& munType);
90 virtual const DtEntityType& munitionType()
const;
93 virtual void setResult(DtDetonationResult res);
96 virtual DtDetonationResult result()
const;
99 virtual void setWarheadType(DtWarheadType whType);
102 virtual DtWarheadType warheadType()
const;
104 virtual void setWeaponFireMessageId(
const DtGlobalObjectDesignator& mesId);
106 virtual const DtGlobalObjectDesignator& weaponFireMessageId()
const;
109 virtual const char* name()
const;
112 virtual void printData()
const;
115 virtual void printDataToStream(std::ostream& stream)
const;
121 static DtInteraction* create();
125 static void addCallback(DtExerciseConn* conn,
126 DtDetonationInteractionCb cb,
void* usr);
129 static void removeCallback(DtExerciseConn* conn,
130 DtDetonationInteractionCb cb,
void* usr);
134 DtGlobalObjectDesignator myAttackerId;
135 DtGlobalObjectDesignator myTargetId;
137 DtVector64 myWorldLocation;
138 DtVector32 myVelocity;
140 DtGlobalObjectDesignator myMunitionId;
141 DtEntityType myMunitionType;
142 DtDetonationResult myResult;
143 DtWarheadType myWarheadType;
145 DtGlobalObjectDesignator myWeaponFireMessageId;