mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-09 07:20:40 +00:00
Merge pull request #243 from Azaezel/alpha40_triggerTricks2
from @practicing01: trigger mounting
This commit is contained in:
commit
7de3829d38
2 changed files with 26 additions and 0 deletions
|
|
@ -537,6 +537,13 @@ void Trigger::setTransform(const MatrixF & mat)
|
|||
testObjects();
|
||||
}
|
||||
|
||||
void Trigger::onUnmount( SceneObject *obj, S32 node )
|
||||
{
|
||||
Parent::onUnmount( obj, node );
|
||||
// Make sure the client get's the final server pos.
|
||||
setMaskBits(TransformMask | ScaleMask);
|
||||
}
|
||||
|
||||
void Trigger::prepRenderImage( SceneRenderState *state )
|
||||
{
|
||||
// only render if selected or render flag is set
|
||||
|
|
@ -695,6 +702,13 @@ void Trigger::processTick(const Move* move)
|
|||
if (!mDataBlock->isClientSide && isClientObject())
|
||||
return;
|
||||
|
||||
if (isMounted()) {
|
||||
MatrixF mat;
|
||||
mMount.object->getMountTransform( mMount.node, mMount.xfm, &mat );
|
||||
setTransform(mat);
|
||||
setRenderTransform(mat);
|
||||
}
|
||||
|
||||
//
|
||||
if (mObjects.size() == 0)
|
||||
return;
|
||||
|
|
@ -734,6 +748,15 @@ void Trigger::processTick(const Move* move)
|
|||
}
|
||||
}
|
||||
|
||||
void Trigger::interpolateTick(F32 delta)
|
||||
{
|
||||
if (isMounted()) {
|
||||
MatrixF mat;
|
||||
mMount.object->getRenderMountTransform( delta, mMount.node, mMount.xfm, &mat );
|
||||
setRenderTransform(mat);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
U32 Trigger::packUpdate(NetConnection* con, U32 mask, BitStream* stream)
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@ class Trigger : public GameBase
|
|||
|
||||
static const U32 CMD_SIZE = 1024;
|
||||
|
||||
void onUnmount(SceneObject* obj,S32 node);
|
||||
|
||||
protected:
|
||||
|
||||
enum TriggerUpdateBits
|
||||
|
|
@ -104,6 +106,7 @@ class Trigger : public GameBase
|
|||
static bool smRenderTriggers;
|
||||
bool testObject(GameBase* enter);
|
||||
void processTick(const Move *move);
|
||||
void interpolateTick(F32 delta);
|
||||
|
||||
void buildConvex(const Box3F& box, Convex* convex);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue