Ejemplo n.º 1
0
void CTargetFind::addEntity(CBattleEntity* PTarget, bool withPet)
{
    if (validEntity(PTarget)){
        m_targets.push_back(PTarget);
    }

    // add my pet too, if its allowed
    if (withPet && PTarget->PPet != NULL && validEntity(PTarget->PPet))
    {
        m_targets.push_back(PTarget->PPet);
    }

}
Ejemplo n.º 2
0
 bool registerEntityDestructionUMap(EntityID entity, std::unordered_map<uint32_t, uint32_t>& target)
 {
     if (!validEntity(entity)) {
         return false;
     }
     if (entity_destruction_umaps_.size() <= entity.id) {
         entity_destruction_umaps_.resize(entity.id + 1);
     }
     entity_destruction_umaps_[entity.id].emplace(&target);
     return true;
 }
Ejemplo n.º 3
0
 bool registerEntityDestructionVector(EntityID entity, std::vector<uint32_t>& target)
 {
     if (!validEntity(entity)) {
         return false;
     }
     if (entity_destruction_vectors_.size() <= entity.id) {
         entity_destruction_vectors_.resize(entity.id + 1);
     }
     entity_destruction_vectors_[entity.id].emplace(&target);
     return true;
 }
Ejemplo n.º 4
0
 bool registerEntityDestructionCB(EntityID entity, EntityRemovedCB &cb)
 {
     if (!validEntity(entity)) {
         return false;
     }
     if (entity_destruction_cbs_.size() < entity.id) {
         entity_destruction_cbs_.resize(entity.id + 1);
     }
     entity_destruction_cbs_[entity.id].emplace_back(&cb);
     return true;
 }
Ejemplo n.º 5
0
 bool unregisterEntityDestructionUMap(EntityID entity, std::unordered_map<uint32_t, uint32_t>& target)
 {
     if (!validEntity(entity)) {
         return false;
     }
     if (entity_destruction_umaps_.size() >= entity.id) {
         return false;
     }
     auto& set = entity_destruction_umaps_[entity.id];
     auto found = set.find(&target);
     if (set.end() == found) {
         return false;
     }
     set.erase(found);
     return true;
 }
Ejemplo n.º 6
0
/* Hmm, don't need if we clear it when destroyed anyway...
    bool unregisterEntityDestructionCB(EntityID entity, EntityRemovedCB &cb)
    {
        if (!validEntity(entity)) {
            return false;
        }
        if (entity_destruction_cbs_.size() >= entity.id) {
            return false;
        }
        auto &vec = entity_destruction_cbs_[entity.id];
        auto found = vec.find(cb)
    }
*/
    bool unregisterEntityDestructionVector(EntityID entity, std::vector<uint32_t>& target)
    {
        if (!validEntity(entity)) {
            return false;
        }
        if (entity_destruction_vectors_.size() >= entity.id) {
            return false;
        }
        auto& set = entity_destruction_vectors_[entity.id];
        auto found = set.find(&target);
        if (set.end() == found) {
            return false;
        }
        set.erase(found);
        return true;
    }