void CThirdPlayerActorSkinned::Update(void)
{
	//need respawn
	if (m_bSpawn)
	{
		dmat4 trans = m_meshPlayer->getWorldTransform();
		trans.setColumn3(3, m_vSpawnPos);
		m_meshPlayer->setWorldTransform(trans);
	}

	//update meshPlayer's pos, rot, scale according to camera's pos
	m_meshPlayer->setWorldTransform(m_playerActor->getWorldTransform() * rotateZ((double)90.0f));
#ifdef debug
		{
			dmat4 tempMat = m_meshPlayer->getWorldTransform();
			dvec3 tempVec = tempMat.getTranslate();
			cout <<"player's pos: "<< tempVec.x << " " << tempVec.y << " " << tempVec.z << endl;
			if (m_meshPlayer->isEnabled())
			{
				cout << "meshPlayer is Enabled " << endl;
			}
		}
#endif

	//update animations
	{
		UpdateAnim();
	}
}
Esempio n. 2
0
void Battle::Ally::CreateSprite() {
	if (Player::engine != Player::EngineRpg2k3)
		return;

	sprite.reset(new Sprite());
	sprite->SetOx(24);
	sprite->SetOy(24);
	sprite->SetX(rpg_actor->battle_x);
	sprite->SetY(rpg_actor->battle_y);
	sprite->SetZ(rpg_actor->battle_y);

	SetAnimState(anim_state);
	UpdateAnim(0);
}
void CUICharacterCreateNew::OnUpdate( float fDeltaTime, ULONG ElapsedTime )
{
	GameDataManager* pGame = GameDataManager::getSingleton();

	CJobInfo* pInfo = CJobInfo::getSingleton();

	if (pInfo == NULL)
		return;

	if (pGame == NULL)
		return;

	CharacterCreateNew* pCharCreate = pGame->GetCharCreate();

	if (pCharCreate == NULL)
		return;

	int nJob = pCharCreate->GetSelJob();

	if (_pGameState->m_pCharCreateUIModels[nJob] == NULL)
		return;

	if (m_eAniState == UI_ANI_START)
	{		
		INDEX animID = ska_GetIDFromStringTable(pInfo->GetAnimationName( nJob, ANIM_LOGIN_GAMESTART));
		FLOAT fAniStartTime = _pGameState->GetAnimStartTime(_pGameState->m_pCharCreateUIModels[nJob], animID);
		FLOAT fAniTime = _pGameState->GetAnimPlayTime(_pGameState->m_pCharCreateUIModels[nJob], animID);

		if (fAniStartTime >= fAniTime)
		{
			m_eAniState = UI_ANI_IDLE1;
			_pGameState->ClearModelEffect(nJob, LOGIN_MODEL_TYPE_CREATEUI);
			_pGameState->ModelPlayAnimation(_pGameState->m_pCharCreateUIModels[nJob], nJob, ANIM_LOGIN_IDLE01, AN_LOOPING);
		}
	}
	else if (m_eAniState > UI_ANI_START)
	{
		UpdateAnim(nJob);
	}
}