void S_SheetAnimation::Notify(const Message& l_message){
	if(HasEntity(l_message.m_receiver)){
		EntityMessage m = (EntityMessage)l_message.m_type;
		switch(m){
		case EntityMessage::State_Changed:
			{
				EntityState s = (EntityState)l_message.m_int;
				switch(s){
				case EntityState::Idle:
					ChangeAnimation(l_message.m_receiver,"Idle",true,true);
					break;
				case EntityState::Walking:
					ChangeAnimation(l_message.m_receiver,"Walk",true,true);
					break;
				case EntityState::Attacking:
					ChangeAnimation(l_message.m_receiver,"Attack",true,false);
					break;
				case EntityState::Hurt: break;
				case EntityState::Dying:
					ChangeAnimation(l_message.m_receiver,"Death",true,false);
					break;
				}
			}
			break;
		}
	}
}
Esempio n. 2
0
void ECBrowser::AddEntity(EntityPtr entity)
{
    PROFILE(ECBrowser_AddNewEntity);

    assert(entity);
    if(!entity)
        return;

    //If entity is already added to browser no point to continue. 
    if(HasEntity(entity))
        return;
    entities_.push_back(EntityPtr(entity));

    connect(entity.get(), SIGNAL(ComponentAdded(IComponent*, AttributeChange::Type)),
        SLOT(OnComponentAdded(IComponent*, AttributeChange::Type)), Qt::UniqueConnection);
    connect(entity.get(), SIGNAL(ComponentRemoved(IComponent*, AttributeChange::Type)),
        SLOT(OnComponentRemoved(IComponent*, AttributeChange::Type)), Qt::UniqueConnection);
}