TrinityCore
Loading...
Searching...
No Matches
Cell Struct Reference

#include <Cell.h>

Public Member Functions

 Cell ()
 
 Cell (CellCoord const &p)
 
 Cell (float x, float y)
 
void Compute (uint32 &x, uint32 &y) const
 
bool DiffCell (Cell const &cell) const
 
bool DiffGrid (Cell const &cell) const
 
uint32 CellX () const
 
uint32 CellY () const
 
uint32 GridX () const
 
uint32 GridY () const
 
GridCoord GetGridCoord () const
 
CellCoord GetCellCoord () const
 
bool operator== (Cell const &cell) const
 
template<class T , class CONTAINER >
void Visit (CellCoord const &, TypeContainerVisitor< T, CONTAINER > &visitor, Map &, WorldObject const &obj, float radius) const
 
template<class T , class CONTAINER >
void Visit (CellCoord const &, TypeContainerVisitor< T, CONTAINER > &visitor, Map &, float x, float y, float radius) const
 

Static Public Member Functions

static CellArea CalculateCellArea (float x, float y, float radius)
 
template<class T >
static void VisitGridObjects (WorldObject const *obj, T &visitor, float radius)
 
template<class T >
static void VisitWorldObjects (WorldObject const *obj, T &visitor, float radius)
 
template<class T >
static void VisitAllObjects (WorldObject const *obj, T &visitor, float radius)
 
template<class T >
static void VisitGridObjects (float x, float y, Map *map, T &visitor, float radius)
 
template<class T >
static void VisitWorldObjects (float x, float y, Map *map, T &visitor, float radius)
 
template<class T >
static void VisitAllObjects (float x, float y, Map *map, T &visitor, float radius)
 

Public Attributes

union { 
 
   struct { 
 
      uint8   grid_x 
 
      uint8   grid_y 
 
      uint8   cell_x 
 
      uint8   cell_y 
 
   }   Part 
 
   uint32   All 
 
} data 
 

Private Member Functions

template<class T , class CONTAINER >
void VisitCircle (TypeContainerVisitor< T, CONTAINER > &, Map &, CellCoord const &, CellCoord const &) const
 

Detailed Description

Definition at line 37 of file Cell.h.

Constructor & Destructor Documentation

◆ Cell() [1/3]

Cell::Cell ( )
inline

Definition at line 39 of file Cell.h.

◆ Cell() [2/3]

Cell::Cell ( CellCoord const &  p)
inlineexplicit

◆ Cell() [3/3]

Cell::Cell ( float  x,
float  y 
)
inlineexplicit

Definition at line 41 of file Cell.h.

Member Function Documentation

◆ CalculateCellArea()

CellArea Cell::CalculateCellArea ( float  x,
float  y,
float  radius 
)
inlinestatic

Definition at line 33 of file CellImpl.h.

References Trinity::ComputeCellCoord().

Referenced by Visit(), and Map::VisitNearbyCellsOf().

◆ CellX()

◆ CellY()

◆ Compute()

void Cell::Compute ( uint32 &  x,
uint32 &  y 
) const
inline

Definition at line 43 of file Cell.h.

References data, and MAX_NUMBER_OF_CELLS.

◆ DiffCell()

bool Cell::DiffCell ( Cell const &  cell) const
inline

◆ DiffGrid()

◆ GetCellCoord()

CellCoord Cell::GetCellCoord ( ) const
inline

Definition at line 73 of file Cell.h.

References data, and MAX_NUMBER_OF_CELLS.

◆ GetGridCoord()

GridCoord Cell::GetGridCoord ( ) const
inline

Definition at line 66 of file Cell.h.

References data.

◆ GridX()

◆ GridY()

◆ operator==()

bool Cell::operator== ( Cell const &  cell) const
inline

Definition at line 80 of file Cell.h.

References All, and data.

◆ Visit() [1/2]

template<class T , class CONTAINER >
void Cell::Visit ( CellCoord const &  standing_cell,
TypeContainerVisitor< T, CONTAINER > &  visitor,
Map &  map,
float  x,
float  y,
float  radius 
) const
inline

◆ Visit() [2/2]

template<class T , class CONTAINER >
void Cell::Visit ( CellCoord const &  standing_cell,
TypeContainerVisitor< T, CONTAINER > &  visitor,
Map &  map,
WorldObject const &  obj,
float  radius 
) const
inline

◆ VisitAllObjects() [1/2]

template<class T >
void Cell::VisitAllObjects ( float  x,
float  y,
Map *  map,
T &  visitor,
float  radius 
)
inlinestatic

Definition at line 192 of file CellImpl.h.

References Trinity::ComputeCellCoord(), and Visit().

◆ VisitAllObjects() [2/2]

template<class T >
void Cell::VisitAllObjects ( WorldObject const *  obj,
T &  visitor,
float  radius 
)
inlinestatic

Definition at line 160 of file CellImpl.h.

References Trinity::ComputeCellCoord(), WorldObject::GetMap(), Position::GetPositionX(), Position::GetPositionY(), and Visit().

Referenced by boss_sartharion::CastLavaStrikeOnTarget(), spell_sha_flame_shock_fire_nova_enabler::CheckFlameShocks(), spell_dru_lunar_wrath::CheckProc(), spell_sha_lava_surge::CheckProcChance(), SmartScript::DoFindClosestFriendlyInRange(), ScriptedAI::DoFindFriendlyCC(), ScriptedAI::DoFindFriendlyMissingBuff(), ScriptedAI::DoSelectBelowHpPctFriendlyWithEntry(), ScriptedAI::DoSelectLowestHpFriendly(), boss_gathios_the_shatterer::ExecuteEvent(), DynObjAura::FillTargetMap(), WorldObject::FindNearestCreature(), WorldObject::FindNearestCreatureWithOptions(), npc_illidari_fighting_invasion_begins::GetNextTarget(), debug_commandscript::HandleDebugEnterVehicleCommand(), spell_dru_twin_moonfire::HandleEffectHit(), AuraEffect::HandleFeignDeath(), spell_warr_bloodsurge::HandlePeriodic(), spell_dru_luxuriant_soil::HandleProc(), spell_dru_power_of_the_archdruid::HandleProc(), spell_vehicle_throw_passenger::spell_vehicle_throw_passenger_SpellScript::HandleScript(), Creature::Heartbeat(), npc_pet_dk_ebon_gargoyle::InitializeAI(), spell_sporecaller_zancha_festering_harvest_pods_selector::OnPrecast(), spell_dru_shooting_stars::OnTick(), npc_infernal_rain_hellfire::RebuildTargetList(), boss_king_deepbeard::RemoveCallTheSeas(), spell_warl_channel_demonfire_activator::RemoveEffect(), boss_king_deepbeard::RemoveQuakes(), AreaTrigger::SearchUnits(), Unit::SelectNearbyTarget(), Creature::SelectNearestTarget(), Creature::SelectNearestTargetInAttackDistance(), npc_simon_bunny::npc_simon_bunnyAI::StartGame(), Map::SummonCreature(), spell_sha_fire_nova::TriggerDamage(), spell_sha_primordial_wave::TriggerDamage(), spell_sha_molten_assault::TriggerFlameShocks(), GameObject::Update(), TotemAI::UpdateAI(), npc_belnistrasz::npc_belnistraszAI::UpdateAI(), npc_watch_commander_leonus::UpdateAI(), Unit::UpdateObjectVisibility(), Player::UpdateVisibilityForPlayer(), Trinity::DelayedUnitRelocation::Visit(), and npc_demolitionist_legoso::npc_demolitionist_legosoAI::WaypointReached().

◆ VisitCircle()

template<class T , class CONTAINER >
void Cell::VisitCircle ( TypeContainerVisitor< T, CONTAINER > &  visitor,
Map &  map,
CellCoord const &  begin_cell,
CellCoord const &  end_cell 
) const
inlineprivate

Definition at line 91 of file CellImpl.h.

References Map::Visit(), CoordPair< LIMIT >::x_coord, and CoordPair< LIMIT >::y_coord.

Referenced by Visit().

◆ VisitGridObjects() [1/2]

template<class T >
void Cell::VisitGridObjects ( float  x,
float  y,
Map *  map,
T &  visitor,
float  radius 
)
inlinestatic

Definition at line 172 of file CellImpl.h.

References Trinity::ComputeCellCoord(), and Visit().

◆ VisitGridObjects() [2/2]

template<class T >
void Cell::VisitGridObjects ( WorldObject const *  obj,
T &  visitor,
float  radius 
)
inlinestatic

Definition at line 140 of file CellImpl.h.

References Trinity::ComputeCellCoord(), WorldObject::GetMap(), Position::GetPositionX(), Position::GetPositionY(), and Visit().

Referenced by AlysrazorTrashEvaded(), Creature::CallAssistance(), Creature::CallForHelp(), spell_gen_cannibalize::CheckIfCorpseNear(), npc_crok_scourgebane::DamageTaken(), SmartScript::DoFindFriendlyCC(), SmartScript::DoFindFriendlyMissingBuff(), Creature::DoFleeToGetAssistance(), hyjalAI::DoOverrun(), SmartScript::DoSelectLowestHpFriendly(), SmartScript::DoSelectLowestHpPercentFriendly(), Spell::EffectCancelConversation(), OrbsDespawner::Execute(), ValithriaDespawner::Execute(), npc_captain_arnath::FindFriendlyCreature(), WorldObject::FindNearestGameObject(), WorldObject::FindNearestGameObjectOfType(), WorldObject::FindNearestGameObjectWithOptions(), WorldObject::FindNearestUnspawnedGameObject(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::FloorEruption(), ScriptedAI::ForceCombatStopForCreatureEntry(), OPvPCapturePointNA::GetAliveGuardsCount(), npc_priestess_alun_za_spirit_of_gold::GetClosestTaintedBloodAreaTrigger(), WorldObject::GetCreatureListWithEntryInGrid(), WorldObject::GetCreatureListWithOptionsInGrid(), WorldObject::GetGameObjectListWithEntryInGrid(), WorldObject::GetGameObjectListWithOptionsInGrid(), ChatHandler::GetNearbyGameObject(), Scripts::Pandaria::TheWanderingIsle::npc_huojin_trainee::GetNewPartner(), npc_thorim_trashAI::AIHelper::GetUnitWithMostMissingHp(), Scripts::Pandaria::TheWanderingIsle::HandleEmoteNearbyTushuiTrainees(), WorldSession::HandleLootOpcode(), mmaps_commandscript::HandleMmapTestArea(), misc_commandscript::HandleRespawnCommand(), hyjalAI::HideNearPos(), boss_orator_krix_vizk::JustDied(), GameObject::LookupFishingHoleAround(), spell_corrupting_plague_aura::OnPeriodic(), spell_stasis_field_aura::OnPeriodic(), spell_thorim_activate_lightning_orb_periodic::spell_thorim_activate_lightning_orb_periodic_AuraScript::PeriodicTick(), SmartScript::ProcessAction(), boss_the_lich_king::Reset(), npc_icc_orb_controller::Reset(), DarkFallenAI::Reset(), hyjalAI::RespawnNearPos(), Spell::SearchTargets(), Creature::SelectNearestHostileUnitInAggroRange(), at_briarpatch_to_plains::StartConversation(), npc_egg_pile::npc_egg_pileAI::UpdateAI(), boss_onyxia::UpdateAI(), npc_icc_nerubar_broodkeeper::UpdateAI(), hyjalAI::WaypointReached(), and npc_crok_scourgebane::WaypointStarted().

◆ VisitWorldObjects() [1/2]

template<class T >
void Cell::VisitWorldObjects ( float  x,
float  y,
Map *  map,
T &  visitor,
float  radius 
)
inlinestatic

Definition at line 182 of file CellImpl.h.

References Trinity::ComputeCellCoord(), and Visit().

◆ VisitWorldObjects() [2/2]

template<class T >
void Cell::VisitWorldObjects ( WorldObject const *  obj,
T &  visitor,
float  radius 
)
inlinestatic

Member Data Documentation

◆ All

uint32 Cell::All

Definition at line 90 of file Cell.h.

Referenced by operator==().

◆ cell_x

uint8 Cell::cell_x

Definition at line 87 of file Cell.h.

Referenced by DiffCell().

◆ cell_y

uint8 Cell::cell_y

Definition at line 88 of file Cell.h.

Referenced by DiffCell().

◆ [union]

◆ grid_x

uint8 Cell::grid_x

Definition at line 85 of file Cell.h.

Referenced by DiffGrid(), and Map::SwitchGridContainers().

◆ grid_y

uint8 Cell::grid_y

Definition at line 86 of file Cell.h.

Referenced by DiffGrid(), and Map::SwitchGridContainers().

◆ [struct]

struct { ... } Cell::Part

The documentation for this struct was generated from the following files: