aboutsummaryrefslogtreecommitdiff
path: root/src/game/GridNotifiers.h
diff options
context:
space:
mode:
authormegamage <none@none>2009-05-27 09:09:22 -0500
committermegamage <none@none>2009-05-27 09:09:22 -0500
commitcb72853dc6a9e7aa5301c1ab4e7fccbe1f34d2f4 (patch)
tree444980914b091b9add534251af6815452bda76bd /src/game/GridNotifiers.h
parent1497d8f3914177fff8a4ce0a69fb33ac2263b3c5 (diff)
*Cleanup message deliver functions. Remove unused parameters.
--HG-- branch : trunk
Diffstat (limited to 'src/game/GridNotifiers.h')
-rw-r--r--src/game/GridNotifiers.h50
1 files changed, 17 insertions, 33 deletions
diff --git a/src/game/GridNotifiers.h b/src/game/GridNotifiers.h
index 138807674ae..87b0a11a226 100644
--- a/src/game/GridNotifiers.h
+++ b/src/game/GridNotifiers.h
@@ -101,48 +101,32 @@ namespace Trinity
void Visit(CorpseMapType &m) { updateObjects<Corpse>(m); }
};
- struct TRINITY_DLL_DECL Deliverer
+ struct TRINITY_DLL_DECL MessageDistDeliverer
{
WorldObject &i_source;
WorldPacket *i_message;
- std::set<uint64> plr_list;
- bool i_toPossessor;
- bool i_toSelf;
+ std::set<Player*> plr_list;
uint32 i_phaseMask;
- float i_dist;
- Deliverer(WorldObject &src, WorldPacket *msg, bool to_possessor, bool to_self, float dist = 0.0f)
- : i_source(src), i_message(msg), i_toPossessor(to_possessor), i_toSelf(to_self), i_dist(dist), i_phaseMask(src.GetPhaseMask()) {}
+ float i_distSq;
+ MessageDistDeliverer(WorldObject &src, WorldPacket *msg, bool to_self, float dist)
+ : i_source(src), i_message(msg), i_distSq(dist * dist), i_phaseMask(src.GetPhaseMask())
+ {
+ if(!to_self)
+ plr_list.insert((Player*)&i_source);
+ }
void Visit(PlayerMapType &m);
void Visit(CreatureMapType &m);
void Visit(DynamicObjectMapType &m);
- virtual void VisitObject(Player* plr) = 0;
- void SendPacket(Player* plr);
template<class SKIP> void Visit(GridRefManager<SKIP> &) {}
- };
-
- struct TRINITY_DLL_DECL MessageDeliverer : public Deliverer
- {
- MessageDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, bool to_self) : Deliverer(pl, msg, to_possessor, to_self) {}
- void VisitObject(Player* plr);
- };
-
- struct TRINITY_DLL_DECL ObjectMessageDeliverer : public Deliverer
- {
- explicit ObjectMessageDeliverer(WorldObject &src, WorldPacket *msg, bool to_possessor) : Deliverer(src, msg, to_possessor, false) {}
- void VisitObject(Player* plr) { SendPacket(plr); }
- };
- struct TRINITY_DLL_DECL MessageDistDeliverer : public Deliverer
- {
- bool i_ownTeamOnly;
- MessageDistDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, float dist, bool to_self, bool ownTeamOnly) : Deliverer(pl, msg, to_possessor, to_self, dist), i_ownTeamOnly(ownTeamOnly) {}
- void VisitObject(Player* plr);
- };
-
- struct TRINITY_DLL_DECL ObjectMessageDistDeliverer : public Deliverer
- {
- ObjectMessageDistDeliverer(WorldObject &obj, WorldPacket *msg, bool to_possessor, float dist) : Deliverer(obj, msg, to_possessor, false, dist) {}
- void VisitObject(Player* plr) { SendPacket(plr); }
+ void SendPacket(Player* plr)
+ {
+ if (plr_list.find(plr) == plr_list.end())
+ {
+ plr->GetSession()->SendPacket(i_message);
+ plr_list.insert(plr);
+ }
+ }
};
struct TRINITY_DLL_DECL ObjectUpdater