280 lines
10 KiB
C++
280 lines
10 KiB
C++
|
|
#include "stdafx.h"
|
|||
|
|
#include "VectorProperty.h"
|
|||
|
|
#include "ActorProperty.h"
|
|||
|
|
#include "ToolData.h"
|
|||
|
|
#include "CommandSet.h"
|
|||
|
|
#include "DnCutSceneData.h"
|
|||
|
|
#include "RTCutSceneMakerFrame.h"
|
|||
|
|
#include "RtCutSceneRenderer.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
CActorProperty::CActorProperty( wxWindow* pParent, int id ) : IPropertyDelegate( pParent, id ),
|
|||
|
|
m_vPrevPos( 0.0f, 0.0f, 0.0f ),
|
|||
|
|
m_fPrevRotation( 0.0f ),
|
|||
|
|
m_bPrevInfluenceLightmap( false ),
|
|||
|
|
m_bPrevScaleLock( false )
|
|||
|
|
{
|
|||
|
|
_RebuildProperty();
|
|||
|
|
|
|||
|
|
CRTCutSceneMakerFrame* pMainFrame = static_cast<CRTCutSceneMakerFrame*>(TOOL_DATA.GetMainFrame());
|
|||
|
|
pMainFrame->ConnectMouseWheelEventToRenderPanel( m_pPropGrid );
|
|||
|
|
|
|||
|
|
//m_pPropGrid->EnableProperty( m_aPGID[ POS_ ], true );
|
|||
|
|
//m_pPropGrid->EnableProperty( m_aPGID[ ROTATION ], true );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CActorProperty::~CActorProperty(void)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::Initialize( void )
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::_RebuildProperty( void )
|
|||
|
|
{
|
|||
|
|
m_pPropGrid->Clear();
|
|||
|
|
|
|||
|
|
wxPGId CategoryID = m_pPropGrid->AppendCategory( wxT("Actor Property") );
|
|||
|
|
m_pPropGrid->SetPropertyHelpString( CategoryID, wxT("Set Actor's Property") );
|
|||
|
|
|
|||
|
|
m_aPGID[ ACTOR_NAME ] = m_pPropGrid->Append( wxStringProperty( wxT("Name"), wxPG_LABEL, wxT("") ) );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ְ<EFBFBD> <20><><EFBFBD><EFBFBD>..
|
|||
|
|
m_aPGID[ ACTOR_RES_NAME ] = m_pPropGrid->Append( wxEnumProperty( wxT("Actor Table Name"), wxPG_LABEL, wxArrayString() ) );
|
|||
|
|
|
|||
|
|
int iNumActorRes = TOOL_DATA.GetNumActorResInfo();
|
|||
|
|
for( int i = 0 ; i < iNumActorRes; ++i )
|
|||
|
|
{
|
|||
|
|
const S_ACTOR_RES_INFO* pActorResInfo = TOOL_DATA.GetActorResInfoByIndex( i );
|
|||
|
|
m_pPropGrid->AddPropertyChoice( m_aPGID[ ACTOR_RES_NAME ], pActorResInfo->strActorName.c_str() );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
m_aPGID[ POSITION ] = m_pPropGrid->Append( VectorProperty( wxT("Position"), wxPG_LABEL, EtVector3(0.0f, 0.0f, 0.0f) ) );
|
|||
|
|
m_aPGID[ FIT_YPOS_TO_MAP ] = m_pPropGrid->Append( wxBoolProperty(wxT("Y pos to map"), wxPG_LABEL, true ) );
|
|||
|
|
m_pPropGrid->SetPropertyAttribute( m_aPGID[ FIT_YPOS_TO_MAP ], wxPG_BOOL_USE_CHECKBOX, true );
|
|||
|
|
m_aPGID[ ROTATION ] = m_pPropGrid->Append( wxFloatProperty( wxT("Rot"), wxPG_LABEL, 0.0f ) );
|
|||
|
|
m_aPGID[ INFLUENCE_LIGHTMAP ] = m_pPropGrid->Append( wxBoolProperty( wxT("Influence Lightmap"), wxPG_LABEL, true ) );
|
|||
|
|
|
|||
|
|
m_aPGID[ SCALE_LOCK ] = m_pPropGrid->Append( wxBoolProperty( wxT("Scale Lock"), wxPG_LABEL, true ) ); // <20>⺻ <20><><EFBFBD><EFBFBD> true <20><>.
|
|||
|
|
m_aPGID[ SELECT_BOSS ] = m_pPropGrid->Append( wxEnumProperty( wxT("Select Monster"), wxPG_LABEL, wxArrayString() ) );
|
|||
|
|
m_pPropGrid->AddPropertyChoice( m_aPGID[ SELECT_BOSS ], wxT("None") ); // <20><> ù<><C3B9>°<EFBFBD><C2B0> None <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
m_pPropGrid->SetPropertyValueLong( m_aPGID[ SELECT_BOSS ], 0 );
|
|||
|
|
m_pPropGrid->HideProperty( m_aPGID[ SELECT_BOSS ], true );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::OnPropertyChanged( wxPropertyGridEvent& PGEvent )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ܾ<EFBFBD><DCBE>´<EFBFBD>.
|
|||
|
|
int iSelectedRegRes = TOOL_DATA.GetSelectedRegResIndex();
|
|||
|
|
if( wxNOT_FOUND != iSelectedRegRes )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ͱ<EFBFBD> <20>ƴϸ<C6B4> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20>Ⱥ<EFBFBD><C8BA>̹Ƿ<CCB9> <20>ݿ<EFBFBD><DDBF><EFBFBD> <20>ʿ䰡 <20><><EFBFBD><EFBFBD>.
|
|||
|
|
if( CDnCutSceneData::RT_RES_ACTOR == TOOL_DATA.GetRegResKindByIndex( iSelectedRegRes ) )
|
|||
|
|
{
|
|||
|
|
wxString strActorName = m_pPropGrid->GetPropertyValueAsString( m_aPGID[ ACTOR_NAME ] );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7>̾<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŀ<>ǵ<EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD>İ<EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
// <20>ش<EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD><CCBC><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<C3BC><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
|||
|
|
if( PGEvent.GetProperty() == m_aPGID[ ACTOR_RES_NAME ] )
|
|||
|
|
{
|
|||
|
|
const S_ACTOR_RES_INFO* pActorResInfoToChange = TOOL_DATA.GetActorResInfoByIndex( PGEvent.GetPropertyValueAsInt() );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20>ٲٴ<D9B2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ.
|
|||
|
|
// <20>ַ<EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD>(<28><EFBFBD>)<29><> ȣȯ<C8A3>Ǵ<EFBFBD><C7B4><EFBFBD> üũ<C3BC>Ѵ<EFBFBD>.1
|
|||
|
|
CRTCutSceneRenderer* pRenderer = static_cast<CRTCutSceneRenderer*>(TOOL_DATA.GetRenderer());
|
|||
|
|
bool bCanChangeActor = pRenderer->CanChangeActor( strActorName.c_str(), pActorResInfoToChange->strActorName.c_str() );
|
|||
|
|
if( bCanChangeActor )
|
|||
|
|
{
|
|||
|
|
CChangeActorRes ChangeActorRes( &TOOL_DATA, pActorResInfoToChange->strActorName.c_str(), strActorName.c_str() );
|
|||
|
|
TOOL_DATA.RunCommand( &ChangeActorRes );
|
|||
|
|
}
|
|||
|
|
//pRenderer->ChangeActor( strActorName.c_str(), pActorResInfoToChange->strActorName.c_str() );
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
wxVariant value = m_pPropGrid->GetPropertyValue( m_aPGID[ POSITION ] );
|
|||
|
|
wxVariantData_EtVector3* pData = static_cast<wxVariantData_EtVector3*>(value.GetData());
|
|||
|
|
const EtVector3 vPos = pData->GetValue();
|
|||
|
|
|
|||
|
|
bool bFitYPosToMap = m_pPropGrid->GetPropertyValueAsBool( m_aPGID[ FIT_YPOS_TO_MAP ] );
|
|||
|
|
float fRotation = (double)m_pPropGrid->GetPropertyValueAsDouble( m_aPGID[ ROTATION ] );
|
|||
|
|
bool bInfluenceLightmap = m_pPropGrid->GetPropertyValueAsBool( m_aPGID[ INFLUENCE_LIGHTMAP ] );
|
|||
|
|
bool bScaleLock = m_pPropGrid->GetPropertyValueAsBool( m_aPGID[ SCALE_LOCK ] );
|
|||
|
|
int iSelectedMonsterInfo = m_pPropGrid->GetPropertyValueAsInt( m_aPGID[ SELECT_BOSS ] );
|
|||
|
|
|
|||
|
|
int iMonsterTableID = 0;
|
|||
|
|
if( false == bScaleLock )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20><>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> <20><><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20><><EFBFBD>ش<EFBFBD>.
|
|||
|
|
wxString strActorResName = m_pPropGrid->GetPropertyValueAsString( m_aPGID[ ACTOR_RES_NAME ] );
|
|||
|
|
wxString strActorName = m_pPropGrid->GetPropertyValueAsString( m_aPGID[ ACTOR_NAME ] );
|
|||
|
|
vector<const S_MONSTER_INFO*> vlResult;
|
|||
|
|
TOOL_DATA.GatherBossInfoOfThisActor( strActorResName, vlResult );
|
|||
|
|
if( 0 < iSelectedMonsterInfo )
|
|||
|
|
{
|
|||
|
|
assert( iSelectedMonsterInfo-1 < (int)vlResult.size() );
|
|||
|
|
iMonsterTableID = vlResult.at(iSelectedMonsterInfo-1)->iMonsterTableID;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CActorResPropChange Command( &TOOL_DATA, m_strPrevActorName.c_str(), strActorName.c_str(),
|
|||
|
|
vPos, fRotation, bFitYPosToMap, bInfluenceLightmap, iMonsterTableID, bScaleLock );
|
|||
|
|
TOOL_DATA.RunCommand( &Command );
|
|||
|
|
|
|||
|
|
m_strPrevActorName = strActorName;
|
|||
|
|
m_vPrevPos = vPos;
|
|||
|
|
m_fPrevRotation = fRotation;
|
|||
|
|
m_bPrevInfluenceLightmap = bInfluenceLightmap;
|
|||
|
|
m_bPrevScaleLock = bScaleLock;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::_UpdateProp( void )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ܾ<EFBFBD><DCBE>´<EFBFBD>.
|
|||
|
|
int iSelectedRegRes = TOOL_DATA.GetSelectedRegResIndex();
|
|||
|
|
if( wxNOT_FOUND != iSelectedRegRes )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD>Ͱ<EFBFBD> <20>ƴϸ<C6B4> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20>Ⱥ<EFBFBD><C8BA>̹Ƿ<CCB9> <20>ݿ<EFBFBD><DDBF><EFBFBD> <20>ʿ䰡 <20><><EFBFBD><EFBFBD>.
|
|||
|
|
if( CDnCutSceneData::RT_RES_ACTOR == TOOL_DATA.GetRegResKindByIndex( iSelectedRegRes ) )
|
|||
|
|
{
|
|||
|
|
//_RebuildProperty();
|
|||
|
|
|
|||
|
|
wxString strActorName;
|
|||
|
|
TOOL_DATA.GetRegResNameByIndex( iSelectedRegRes, strActorName );
|
|||
|
|
m_pPropGrid->SetPropertyValueString( m_aPGID[ ACTOR_NAME ], strActorName );
|
|||
|
|
|
|||
|
|
wxString strActorResName;
|
|||
|
|
strActorResName = strActorName.substr( 0, strActorName.find_last_of(wxT("_")) );
|
|||
|
|
m_pPropGrid->SetPropertyValueString( m_aPGID[ ACTOR_RES_NAME ], strActorResName );
|
|||
|
|
|
|||
|
|
EtVector3 vPos = TOOL_DATA.GetRegResPos( strActorName.c_str() );
|
|||
|
|
|
|||
|
|
wxVariantData_EtVector3* pData = new wxVariantData_EtVector3(vPos);
|
|||
|
|
wxVariant Value( pData, wxT("EtVector3") );
|
|||
|
|
m_pPropGrid->SetPropertyValue( m_aPGID[ POSITION ], Value );
|
|||
|
|
|
|||
|
|
float fRotation = TOOL_DATA.GetRegResRot( strActorName.c_str() );
|
|||
|
|
m_pPropGrid->SetPropertyValueDouble( m_aPGID[ ROTATION ], fRotation );
|
|||
|
|
|
|||
|
|
bool bFitYPosToMap = TOOL_DATA.GetThisActorsFitYPosToMap( strActorName.c_str() );
|
|||
|
|
m_pPropGrid->SetPropertyValueBool( m_aPGID[ FIT_YPOS_TO_MAP ], bFitYPosToMap );
|
|||
|
|
|
|||
|
|
bool bInfluenceLightmap = TOOL_DATA.GetThisActorsInfluenceLightmap( strActorName.c_str() );
|
|||
|
|
m_pPropGrid->SetPropertyValueBool( m_aPGID[ INFLUENCE_LIGHTMAP ], bInfluenceLightmap );
|
|||
|
|
|
|||
|
|
bool bScaleLock = TOOL_DATA.GetThisActorsScaleLock( strActorName.c_str() );
|
|||
|
|
m_pPropGrid->SetPropertyValueBool( m_aPGID[ SCALE_LOCK ], bScaleLock );
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><> <20><><EFBFBD>ͷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<>Ƽ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>.
|
|||
|
|
wxPGChoiceInfo ChoiceInfo;
|
|||
|
|
m_aPGID[ SELECT_BOSS ].GetProperty().GetChoiceInfo( &ChoiceInfo );
|
|||
|
|
while( ChoiceInfo.m_itemCount > 0 )
|
|||
|
|
{
|
|||
|
|
m_aPGID[ SELECT_BOSS ].GetProperty().DeleteChoice( 0 );
|
|||
|
|
m_aPGID[ SELECT_BOSS ].GetProperty().GetChoiceInfo( &ChoiceInfo );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
vector<const S_MONSTER_INFO*> vlBossInfo;
|
|||
|
|
TOOL_DATA.GatherBossInfoOfThisActor( strActorResName, vlBossInfo );
|
|||
|
|
m_pPropGrid->AddPropertyChoice( m_aPGID[ SELECT_BOSS ], wxT("None") ); // <20><> ù<><C3B9>°<EFBFBD><C2B0> None <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
for( int i = 0; i < (int)vlBossInfo.size(); ++i )
|
|||
|
|
{
|
|||
|
|
const S_MONSTER_INFO* pBossMonsterInfo = vlBossInfo.at( i );
|
|||
|
|
wxString strBossInfo;
|
|||
|
|
strBossInfo.Printf( wxT("%s [MonsterTableID:%d] (Scale:%2.2f)"), pBossMonsterInfo->strName.c_str(),
|
|||
|
|
pBossMonsterInfo->iMonsterTableID,
|
|||
|
|
pBossMonsterInfo->m_fScale );
|
|||
|
|
m_pPropGrid->AddPropertyChoice( m_aPGID[ SELECT_BOSS ], strBossInfo );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
m_pPropGrid->SetPropertyValueLong( m_aPGID[ SELECT_BOSS ], 0 );
|
|||
|
|
bool bSetAsBoss = false;
|
|||
|
|
if( false == bScaleLock )
|
|||
|
|
{
|
|||
|
|
int iMonsterTableID = TOOL_DATA.GetMonsterTableID( strActorName.c_str() );
|
|||
|
|
for( int i = 0; i < (int)vlBossInfo.size(); ++i )
|
|||
|
|
{
|
|||
|
|
const S_MONSTER_INFO* pBossMonsterInfo = vlBossInfo.at( i );
|
|||
|
|
if( pBossMonsterInfo->iMonsterTableID == iMonsterTableID )
|
|||
|
|
{
|
|||
|
|
m_pPropGrid->SetPropertyValueLong( m_aPGID[ SELECT_BOSS ], i+1 );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20>ٲٴ<D9B2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ.
|
|||
|
|
// <20>ַ<EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD>(<28><EFBFBD>)<29><> ȣȯ<C8A3>Ǵ<EFBFBD><C7B4><EFBFBD> üũ<C3BC>Ѵ<EFBFBD>.1
|
|||
|
|
CRTCutSceneRenderer* pRenderer = static_cast<CRTCutSceneRenderer*>(TOOL_DATA.GetRenderer());
|
|||
|
|
pRenderer->SetActorScale( strActorName.c_str(), pBossMonsterInfo->m_fScale );
|
|||
|
|
bSetAsBoss = true;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if( false == bSetAsBoss )
|
|||
|
|
{
|
|||
|
|
CRTCutSceneRenderer* pRenderer = static_cast<CRTCutSceneRenderer*>(TOOL_DATA.GetRenderer());
|
|||
|
|
pRenderer->SetActorScale( strActorName.c_str(), 1.0f );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
m_strPrevActorName = strActorName;
|
|||
|
|
m_vPrevPos = vPos;
|
|||
|
|
m_fPrevRotation = fRotation;
|
|||
|
|
m_bPrevInfluenceLightmap = bInfluenceLightmap;
|
|||
|
|
m_bPrevScaleLock = bScaleLock;
|
|||
|
|
|
|||
|
|
m_pPropGrid->HideProperty( m_aPGID[ SELECT_BOSS ], bScaleLock );
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::OnShow( void )
|
|||
|
|
{
|
|||
|
|
_UpdateProp();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::ClearTempData( void )
|
|||
|
|
{
|
|||
|
|
m_strPrevActorName.clear();
|
|||
|
|
m_vPrevPos.x = 0.0f; m_vPrevPos.y = 0.0f; m_vPrevPos.z = 0.0f;
|
|||
|
|
m_fPrevRotation = 0.0f;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CActorProperty::CommandPerformed( ICommand* pCommand )
|
|||
|
|
{
|
|||
|
|
if( false == TOOL_DATA.IsRegResource( m_strPrevActorName.c_str() ) )
|
|||
|
|
{
|
|||
|
|
m_pPropGrid->Show( false );
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
switch( pCommand->GetTypeID() )
|
|||
|
|
{
|
|||
|
|
case CMD_UPDATE_VIEW:
|
|||
|
|
case CMD_ACTOR_PROP_CHANGE:
|
|||
|
|
case CMD_CHANGE_ACTOR_RES:
|
|||
|
|
_UpdateProp();
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|