123
This commit is contained in:
81
CryGame/XObjectProxy.cpp
Normal file
81
CryGame/XObjectProxy.cpp
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Source code
|
||||
// Copyright (c) Crytek 2001-2004
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "xobjectproxy.h"
|
||||
#include "xplayer.h"
|
||||
|
||||
CXObjectProxy::CXObjectProxy(IEntity *pEntity, IScriptSystem *pSystem)
|
||||
{
|
||||
m_pScriptSystem = pSystem;
|
||||
m_pEntity = pEntity;
|
||||
|
||||
if (m_pEntity->GetContainer())
|
||||
{
|
||||
if (!m_pEntity->GetContainer()->QueryContainerInterface(CIT_IPLAYER,(void**) &m_pPlayer))
|
||||
m_pPlayer = 0;
|
||||
}
|
||||
else
|
||||
m_pPlayer = 0;
|
||||
}
|
||||
|
||||
CXObjectProxy::~CXObjectProxy(void)
|
||||
{
|
||||
}
|
||||
|
||||
// Sets the name of the function that will be called when an incoming signal is intercepted
|
||||
void CXObjectProxy::SetSignalFuncName(const char * szName)
|
||||
{
|
||||
}
|
||||
|
||||
int CXObjectProxy::Update(SOBJECTSTATE * state)
|
||||
{
|
||||
while (!state->vSignals.empty())
|
||||
{
|
||||
AISIGNAL sstruct = state->vSignals.back();
|
||||
state->vSignals.pop_back();
|
||||
|
||||
switch(sstruct.nSignal)
|
||||
{
|
||||
case 1:
|
||||
if (!stricmp(sstruct.strText,"PERCEPTION_RESET"))
|
||||
m_pEntity->SendScriptEvent(ScriptEvent_AllClear,0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CXObjectProxy::SendSignal(SOBJECTSTATE * pState)
|
||||
{
|
||||
}
|
||||
|
||||
bool CXObjectProxy::CustomUpdate(Vec3d &pos, Vec3d &angle)
|
||||
{
|
||||
if (m_pPlayer)
|
||||
{
|
||||
if (m_pPlayer->m_bFirstPerson && m_pEntity->GetCamera())
|
||||
{
|
||||
pos = m_pEntity->GetCamera()->GetPos();
|
||||
if ( (1.f -fabs(m_pPlayer->m_walkParams.fLeanTarget)) < 0.0001f )
|
||||
m_pEntity->GetAI()->SetEyeHeight(0.1f);
|
||||
return true;
|
||||
}
|
||||
angle.z = m_pPlayer->m_LegAngle;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CXObjectProxy::DebugDraw(struct IRenderer * pRenderer)
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user