bool CControl::OnPropertyChange( void* pVariableAddr, CSerializer* pSerializer ) { bool bRet = super::OnPropertyChange( pVariableAddr, pSerializer ); if ( !bRet ) { if ( &m_vec2AbsolutePosition == pVariableAddr ) { CVec2 absolutePosition; DeserializeVariable( absolutePosition, pSerializer ); SetAbsolutePosition( absolutePosition ); bRet = true; } else if ( &m_vec2PercentPosition == pVariableAddr ) { CVec2 percentPosition; DeserializeVariable( percentPosition, pSerializer ); SetPercentPosition( percentPosition ); bRet = true; } else if ( &m_vec2PercentSize == pVariableAddr ) { CVec2 percentSize; DeserializeVariable( percentSize, pSerializer ); SetPercentSize( percentSize ); bRet = true; } else if( &m_vec2Size == pVariableAddr ) { CVec2 size; DeserializeVariable( size, pSerializer ); SetSize( size ); bRet = true; } else if( &m_vec2Anchor == pVariableAddr ) { CVec2 anchor; DeserializeVariable( anchor, pSerializer ); SetAnchor( anchor ); bRet = true; } else if( &m_color == pVariableAddr ) { CColor color; DeserializeVariable( color, pSerializer ); SetColor( color ); bRet = true; } else if( &m_strPressAnimationName == pVariableAddr ) { TString animationName; DeserializeVariable( animationName, pSerializer ); SetAnimationName( animationName ); bRet = true; } } return bRet; }
//! called during the initialization of the entity void RadialTank::Init() { super::Init(); if(Player* pPlayer = Player::Instance()) { Vector3 vPosition = pPlayer->GetPosition() + GetSpawningPoint(); SetAbsolutePosition(vPosition); } }
RandomWaypoint::RandomWaypoint() { SetMobilityModel(Mobility::RANDOM_WAYPOINT); SetSpeed (0); SetSpeedDirection (0.0); SetPositionLastUpdate (0.0); SetHandover (false); SetLastHandoverTime (0.0); SetAbsolutePosition (NULL); }
//! called during the initialization of the entity void Kamikaze::Init() { super::Init(); if(Player* pPlayer = Player::Instance()) { Vector3 vPosition = pPlayer->GetPosition() + GetSpawningPoint(); SetAbsolutePosition(vPosition); } if(KamikazeSettings* pSettings = static_cast<KamikazeSettings*>(m_Settings.Get())) { m_fTimer = pSettings->m_fDuration; } }
//! called during the initialization of the entity void LaserSwiper::Init() { super::Init(); if(LaserSwiperSettings* pSettings = static_cast<LaserSwiperSettings*>(m_Settings.Get())) { m_fLaserLengthSquared = pSettings->m_fLaserLength * pSettings->m_fLaserLength; } if(Player* pPlayer = Player::Instance()) { Vector3 vPosition = pPlayer->GetPosition() + GetSpawningPoint(); SetAbsolutePosition(vPosition); } }
//! called during the initialization of the entity void BasicFighter::Init() { super::Init(); EventManager::Instance()->RegisterListener<TriggerEvent>(this, &HandleTriggerEvent); m_ShootingPoint = static_cast<Entity3D*>(GetChildByName("ShootingPoint")); m_LeftCannon = static_cast<Entity3D*>(GetChildByName("LeftCannon")); m_RightCannon = static_cast<Entity3D*>(GetChildByName("RightCannon")); s32 path = (m_ForcePath < 0) ? Random::GetInt(0, 1) : m_ForcePath; if(Path* pPath = static_cast<Path*>(GetChildByName(path ? "Path" : "Path2"))) { if(Player* pPlayer = Player::Instance()) { if(m_ForcePath < 0) { Vector3 vPosition = pPlayer->GetPosition() + GetSpawningPoint(); SetAbsolutePosition(vPosition); } if(BasicFighterSettings* pSettings = static_cast<BasicFighterSettings*>(m_Settings.Get())) { // orient path towards player Vector3 vToPlayer = (pPlayer->GetMeshEntity()->GetTransformationMatrix().GetTranslation()-pPath->GetTransformationMatrix().GetTranslation()).Normalize(); m_vDirection = Math::Lerp(Vector3::Create(0.0f, -1.0f, 0.0f), vToPlayer, pSettings->m_fHomingFactor); f32 fAngle = Math::ATan2(-m_vDirection.X, -m_vDirection.Y)*Math::RadToDegFactor; pPath->SetRotation(Vector3::Create(0.0f, 0.0f, fAngle)); } if(SequenceVisitor* pSequence = m_Mesh->GetComponent<SequenceVisitor>()) { FollowPathVisitor* pFollow = static_cast<FollowPathVisitor*>(pSequence->GetVisitor(0)); pFollow->SetPath(pPath); pFollow->Visit(m_Mesh); } } } }
void CHTMLEdView::SetStaticPos(UINT) { SetAbsolutePosition(false); }
void CHTMLEdView::SetAbsPos(UINT) { SetAbsolutePosition(true); }
Sprite & Sprite::SetAbsolutePosition(const S2Vector3 &vector) { return SetAbsolutePosition(vector[0], vector[1], vector[2]); }
void SceneNode::SetAbsolutePosition(float x, float y) { SetAbsolutePosition(sf::Vector2f(x,y)); }