MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / setControlObject

Method setControlObject

Engine/source/T3D/gameBase/gameConnection.cpp:558–598  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

556//----------------------------------------------------------------------------
557
558void GameConnection::setControlObject(GameBase *obj)
559{
560 if(mControlObject == obj)
561 return;
562
563 if(mControlObject && mControlObject != mCameraObject)
564 mControlObject->setControllingClient(0);
565
566 if(obj)
567 {
568 // Nothing else is permitted to control this object.
569 if (GameBase* coo = obj->getControllingObject())
570 coo->setControlObject(0);
571 if (GameConnection *con = obj->getControllingClient())
572 {
573 if(this != con)
574 {
575 // was it controlled via camera or control
576 if(con->getControlObject() == obj)
577 con->setControlObject(0);
578 else
579 con->setCameraObject(0);
580 }
581 }
582
583 // We are now the controlling client of this object.
584 obj->setControllingClient(this);
585
586 // Update the camera's FOV to match the new control object
587 //but only if we don't have a specific camera object
588 if (!mCameraObject)
589 setControlCameraFov(obj->getCameraFov());
590 }
591
592 // Okay, set our control object.
593 mControlObject = obj;
594 mControlForceMismatch = true;
595
596 if(mCameraObject.isNull())
597 setScopeObject(mControlObject);
598}
599
600void GameConnection::setCameraObject(GameBase *obj)
601{

Callers 2

setCameraObjectMethod · 0.45
gameConnection.cppFile · 0.45

Calls 7

setCameraObjectMethod · 0.80
setControllingClientMethod · 0.45
getControllingObjectMethod · 0.45
getControllingClientMethod · 0.45
getControlObjectMethod · 0.45
getCameraFovMethod · 0.45
isNullMethod · 0.45

Tested by

no test coverage detected