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);
				}
			}
		}
	}
Exemple #7
0
void CHTMLEdView::SetStaticPos(UINT)
{
	SetAbsolutePosition(false);
}
Exemple #8
0
void CHTMLEdView::SetAbsPos(UINT)
{
	SetAbsolutePosition(true);
}
Exemple #9
0
Sprite & Sprite::SetAbsolutePosition(const S2Vector3 &vector) {
	return SetAbsolutePosition(vector[0], vector[1], vector[2]);
}
Exemple #10
0
void SceneNode::SetAbsolutePosition(float x, float y)
{
    SetAbsolutePosition(sf::Vector2f(x,y));
}