mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-19 19:35:26 +00:00
Merge branch 'development' of https://github.com/GarageGames/Torque3D into AIExtracts
Conflicts: Engine/source/T3D/aiPlayer.cpp
This commit is contained in:
commit
262cc4bac1
293 changed files with 11902 additions and 2097 deletions
|
|
@ -564,6 +564,21 @@ bool AIPlayer::getAIMove(Move *movePtr)
|
|||
}
|
||||
}
|
||||
|
||||
Pose desiredPose = mPose;
|
||||
|
||||
if ( mSwimming )
|
||||
desiredPose = SwimPose;
|
||||
else if ( mAiPose == 1 && canCrouch() )
|
||||
desiredPose = CrouchPose;
|
||||
else if ( mAiPose == 2 && canProne() )
|
||||
desiredPose = PronePose;
|
||||
else if ( mAiPose == 3 && canSprint() )
|
||||
desiredPose = SprintPose;
|
||||
else if ( canStand() )
|
||||
desiredPose = StandPose;
|
||||
|
||||
setPose( desiredPose );
|
||||
|
||||
// Replicate the trigger state into the move so that
|
||||
// triggers can be controlled from scripts.
|
||||
for( U32 i = 0; i < MaxTriggerKeys; i++ )
|
||||
|
|
@ -592,12 +607,24 @@ bool AIPlayer::getAIMove(Move *movePtr)
|
|||
return true;
|
||||
}
|
||||
|
||||
void AIPlayer::updateMove(const Move* move)
|
||||
void AIPlayer::updateMove(const Move* move)
|
||||
{
|
||||
if (!getControllingClient() && isGhost())
|
||||
return;
|
||||
|
||||
Parent::updateMove(move);
|
||||
}
|
||||
|
||||
void AIPlayer::setAiPose( S32 pose )
|
||||
{
|
||||
if (!getControllingClient() && isGhost())
|
||||
return;
|
||||
mAiPose = pose;
|
||||
}
|
||||
|
||||
Parent::updateMove(move);
|
||||
S32 AIPlayer::getAiPose()
|
||||
{
|
||||
return mAiPose;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1397,3 +1424,18 @@ DefineEngineMethod(AIPlayer, getTargetDistance, bool, (ShapeBase* obj, bool chec
|
|||
{
|
||||
return object->getTargetDistance(obj, checkEnabled);
|
||||
}
|
||||
|
||||
DefineEngineMethod( AIPlayer, setAiPose, void, ( S32 pose ),,
|
||||
"@brief Sets the AiPose for an AI object.\n"
|
||||
"@param pose StandPose=0, CrouchPose=1, PronePose=2, SprintPose=3.\n"
|
||||
"Uses the new AiPose variable from shapebase (as defined in its PlayerData datablock).\n")
|
||||
{
|
||||
object->setAiPose(pose);
|
||||
}
|
||||
|
||||
DefineEngineMethod( AIPlayer, getAiPose, S32, (),,
|
||||
"@brief Get the object's current AiPose.\n"
|
||||
"@return StandPose=0, CrouchPose=1, PronePose=2, SprintPose=3.\n")
|
||||
{
|
||||
return object->getAiPose();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue