| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include "ConnectorProxy.h"
- #include "PhysicsScene.h"
- ConnectorProxy::ConnectorProxy(PhysicsScene& scene, IPhysRigidBody * left, IPhysRigidBody * right, float brokeForce) :
- IPhysRigidBodyConnector(&scene),
- IProxy(scene),
- m_realConn(NULL),
- m_left(left),
- m_right(right),
- m_brokeForce(brokeForce),
- m_eventHandler(NULL)
- {
- if (left) left->AddRef();
- if (right) right->AddRef();
- }
- ConnectorProxy::~ConnectorProxy(void)
- {
- if (m_realConn)
- m_realConn->Release(), m_realConn = NULL;
- if (m_left) m_left->Release();
- if (m_right) m_right->Release();
- }
- void ConnectorProxy::SetEventHandler(BrokeEvent * event)
- {
- m_eventHandler = event;
- }
- bool ConnectorProxy::Release()
- {
- return IProxy::AddReleaseCount();
- //m_bReleaseCall = true;
- //return false;
- }
- void ConnectorProxy::OnSyncCreate()
- {
- if (m_realConn)
- return;
- m_realConn = NEW PhysRigidBodyConnector(GetFileName(), GetFileLine(), &m_scene, m_left, m_right, m_brokeForce);
- Assert(m_realConn);
- SetRealPhysObject(m_realConn);
- /*PhysInternal internals;
- m_realConn->GetInternals(internals);
- internals.actor->userData = (IPhysBase*)this;*/
- }
- void ConnectorProxy::OnSyncCalls()
- {
- if (m_eventHandler)
- m_realConn->SetEventHandler(m_eventHandler);
- }
- bool ConnectorProxy::OnSyncRelease()
- {
- return IProxy::ReleaseCounts(this);
- //if (m_bReleaseCall)
- // return IPhysBase::Release();
- //return false;
- }
- void ConnectorProxy::OnSyncTrace()
- {
- }
|