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; } } }
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); }