summaryrefslogtreecommitdiff
path: root/src/actorspritemanager.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-10-19 16:27:33 +0300
committerAndrei Karas <akaras@inbox.ru>2013-10-19 16:30:24 +0300
commit6c3974a46c659e558b2b5f249b7b000a5b39fe25 (patch)
tree6ba5ad594cc0691821f879efff413c562f7cc552 /src/actorspritemanager.h
parent4f77307d659c4048c20eacda1d5b13fcce8d60da (diff)
downloadmanaplus-6c3974a46c659e558b2b5f249b7b000a5b39fe25.tar.gz
manaplus-6c3974a46c659e558b2b5f249b7b000a5b39fe25.tar.bz2
manaplus-6c3974a46c659e558b2b5f249b7b000a5b39fe25.tar.xz
manaplus-6c3974a46c659e558b2b5f249b7b000a5b39fe25.zip
Rename actorspritemanager into actormanager.
Diffstat (limited to 'src/actorspritemanager.h')
-rw-r--r--src/actorspritemanager.h357
1 files changed, 0 insertions, 357 deletions
diff --git a/src/actorspritemanager.h b/src/actorspritemanager.h
deleted file mode 100644
index ef0cf6875..000000000
--- a/src/actorspritemanager.h
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2013 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef ACTORSPRITEMANAGER_H
-#define ACTORSPRITEMANAGER_H
-
-#include "flooritem.h"
-
-#include "being/being.h"
-
-#include "localconsts.h"
-
-class LocalPlayer;
-class Map;
-
-typedef std::set<ActorSprite*> ActorSprites;
-typedef ActorSprites::iterator ActorSpritesIterator;
-typedef ActorSprites::const_iterator ActorSpritesConstIterator;
-
-class ActorSpriteManager final: public ConfigListener
-{
- public:
- ActorSpriteManager();
-
- A_DELETE_COPY(ActorSpriteManager)
-
- ~ActorSpriteManager();
-
- /**
- * Sets the map on which ActorSprites are created.
- */
- void setMap(Map *const map);
-
- /**
- * Sets the current player.
- */
- void setPlayer(LocalPlayer *const player);
-
- /**
- * Create a Being and add it to the list of ActorSprites.
- */
- Being *createBeing(const int id, const ActorSprite::Type type,
- const uint16_t subtype) A_WARN_UNUSED;
-
- /**
- * Create a FloorItem and add it to the list of ActorSprites.
- */
- FloorItem *createItem(const int id, const int itemId,
- const int x, const int y,
- const int amount, const unsigned char color,
- const int subX, const int subY);
-
- /**
- * Destroys the given ActorSprite at the end of
- * ActorSpriteManager::logic.
- */
- void destroy(ActorSprite *const actor);
-
- void erase(ActorSprite *const actor);
-
- void undelete(const ActorSprite *const actor);
-
- /**
- * Returns a specific Being, by id;
- */
- Being *findBeing(const int id) const A_WARN_UNUSED;
-
- /**
- * Returns a being at specific coordinates.
- */
- Being *findBeing(const int x, const int y, const ActorSprite::Type
- type = ActorSprite::UNKNOWN) const A_WARN_UNUSED;
-
- /**
- * Returns a being at the specific pixel.
- */
- Being *findBeingByPixel(const int x, const int y,
- const bool allPlayers = false)
- const A_WARN_UNUSED;
-
- /**
- * Returns a beings at the specific pixel.
- */
- void findBeingsByPixel(std::vector<ActorSprite*> &beings,
- const int x, const int y,
- const bool allPlayers) const;
-
- /**
- * Returns a portal at the specific tile.
- */
- Being *findPortalByTile(const int x, const int y) const A_WARN_UNUSED;
-
- /**
- * Returns a specific FloorItem, by id.
- */
- FloorItem *findItem(const int id) const A_WARN_UNUSED;
-
- /**
- * Returns a FloorItem at specific coordinates.
- */
- FloorItem *findItem(const int x, const int y) const A_WARN_UNUSED;
-
- /**
- * Returns a being nearest to specific coordinates.
- *
- * @param x X coordinate in pixels.
- * @param y Y coordinate in pixels.
- * @param maxTileDist Maximal distance in tiles. If minimal distance is
- * larger, no being is returned.
- * @param type The type of being to look for.
- */
- Being *findNearestLivingBeing(const int x, const int y,
- int maxTileDist,
- const ActorSprite::Type
- type = Being::UNKNOWN,
- const Being *const
- excluded = nullptr) const A_WARN_UNUSED;
-
- /**
- * Returns a being nearest to another being.
- *
- * @param aroundBeing The being to search around.
- * @param maxTileDist Maximal distance in tiles. If minimal distance is
- * larger, no being is returned.
- * @param type The type of being to look for.
- */
- Being *findNearestLivingBeing(const Being *const aroundBeing,
- const int maxTileDist,
- const ActorSprite::Type
- type = Being::UNKNOWN)
- const A_WARN_UNUSED;
-
- /**
- * Finds a being by name and (optionally) by type.
- */
- Being *findBeingByName(const std::string &name,
- const ActorSprite::Type
- type = Being::UNKNOWN) const A_WARN_UNUSED;
-
- /**
- * Finds a nearest being by name and (optionally) by type.
- */
- Being *findNearestByName(const std::string &name,
- const Being::Type &type = Being::UNKNOWN)
- const A_WARN_UNUSED;
-
- /**
- * Heal all players in distance.
- *
- * \param maxdist maximal distance. If minimal distance is larger,
- * no being is returned
- */
-// void HealAllTargets(Being *aroundBeing, int maxdist,
-// Being::Type type) const;
-
- void healTarget() const;
-
- void heal(const Being *const target) const;
-
- void itenplz() const;
-
- /**
- * Returns the whole list of beings.
- */
- const ActorSprites &getAll() const;
-
- /**
- * Returns true if the given ActorSprite is in the manager's list,
- * false otherwise.
- *
- * \param actor the ActorSprite to search for
- */
- bool hasActorSprite(const ActorSprite *const actor)
- const A_WARN_UNUSED;
-
- /**
- * Performs ActorSprite logic and deletes ActorSprite scheduled to be
- * deleted.
- */
- void logic();
-
- /**
- * Destroys all ActorSprites except the local player
- */
- void clear();
-
- void addBlock(const uint32_t id);
-
- void deleteBlock(const uint32_t id);
-
- bool isBlocked(const uint32_t id) const;
-
- void printAllToChat() const;
-
- void printBeingsToChat(const ActorSprites &beings,
- const std::string &header) const;
-
- void printBeingsToChat(const std::vector<Being*> &beings,
- const std::string &header) const;
-
- void getPlayerNames(StringVect &names,
- const bool npcNames) const;
-
- void getMobNames(StringVect &names) const;
-
- void updatePlayerNames() const;
-
- void updatePlayerColors() const;
-
- void updatePlayerGuild() const;
-
- void parseLevels(std::string levels) const;
-
- bool pickUpAll(const int x1, const int y1, const int x2, const int y2,
- const bool serverBuggy = false);
-
- bool pickUpNearest(const int x, const int y, int maxdist) const;
-
- void optionChanged(const std::string &name) override;
-
- void removeAttackMob(const std::string &name);
-
- void removePickupItem(const std::string &name);
-
- void addPriorityAttackMob(const std::string &name);
-
- void addAttackMob(const std::string &name);
-
- void addIgnoreAttackMob(const std::string &name);
-
- void addPickupItem(const std::string &name);
-
- void addIgnorePickupItem(const std::string &name);
-
- void setPriorityAttackMobs(std::list<std::string> mobs)
- { mPriorityAttackMobs = mobs; }
-
- void setAttackMobs(std::list<std::string> mobs)
- { mAttackMobs = mobs; }
-
- int getPriorityAttackMobsSize() const A_WARN_UNUSED
- { return static_cast<int>(mPriorityAttackMobs.size()); }
-
- int getAttackMobsSize() const A_WARN_UNUSED
- { return static_cast<int>(mAttackMobs.size()); }
-
- int getPickupItemsSize() const A_WARN_UNUSED
- { return static_cast<int>(mPickupItems.size()); }
-
-#define defList(list1, mob) \
- bool isIn##list1##List(const std::string &name) const A_WARN_UNUSED\
- { return m##list1##mob##Set.find(name) != m##list1##mob##Set.end(); }\
- void rebuild##list1##mob();\
- std::set<std::string> get##list1##mob##Set() const A_WARN_UNUSED\
- { return m##list1##mob##Set; }\
- std::list<std::string> get##list1##mob() const A_WARN_UNUSED\
- { return m##list1##mob; }
-
- defList(Attack, Mobs)
- defList(PriorityAttack, Mobs)
- defList(IgnoreAttack, Mobs)
- defList(Pickup, Items)
- defList(IgnorePickup, Items)
-
- const std::map<std::string, int> &getAttackMobsMap()
- const A_WARN_UNUSED
- { return mAttackMobsMap; }
-
- const std::map<std::string, int> &getPriorityAttackMobsMap()
- const A_WARN_UNUSED
- { return mPriorityAttackMobsMap; }
-
- int getAttackMobIndex(const std::string &name) const A_WARN_UNUSED;
-
- int getPriorityAttackMobIndex(const std::string &name)
- const A_WARN_UNUSED;
-
- int getPickupItemIndex(const std::string &name) const A_WARN_UNUSED;
-
- int getIndexByName(const std::string &name, const std::map<std::string,
- int> &map) const A_WARN_UNUSED;
-
- bool checkForPickup(const FloorItem *const item) const A_WARN_UNUSED;
-
- void updateEffects(const std::map<int, int> &addEffects,
- const std::set<int> &removeEffects) const;
-
- protected:
- bool validateBeing(const Being *const aroundBeing,
- Being *const being,
- const Being::Type &type,
- const Being *const excluded = nullptr,
- const int maxCost = 20) const A_WARN_UNUSED;
-
- Being *findNearestLivingBeing(const Being *const aroundBeing,
- const int maxdist,
- const Being::Type &type,
- const int x, const int y,
- const Being *const
- excluded = nullptr) const A_WARN_UNUSED;
-
- void loadAttackList();
- void storeAttackList() const;
-
- ActorSprites mActors;
- ActorSprites mDeleteActors;
- std::set<uint32_t> mBlockedBeings;
- Map *mMap;
- std::string mSpellHeal1;
- std::string mSpellHeal2;
- std::string mSpellItenplz;
- bool mTargetDeadPlayers;
- bool mTargetOnlyReachable;
- bool mCyclePlayers;
- bool mCycleMonsters;
- bool mCycleNPC;
- bool mExtMouseTargeting;
-
-#define defVarsP(mob) \
- std::list<std::string> mPriority##mob;\
- std::set<std::string> mPriority##mob##Set;\
- std::map<std::string, int> mPriority##mob##Map;
-
-#define defVars(mob) \
- std::list<std::string> m##mob;\
- std::set<std::string> m##mob##Set;\
- std::map<std::string, int> m##mob##Map;\
- std::list<std::string> mIgnore##mob;\
- std::set<std::string> mIgnore##mob##Set;
-
- defVarsP(AttackMobs)
- defVars(AttackMobs)
- defVars(PickupItems)
-};
-
-extern ActorSpriteManager *actorSpriteManager;
-
-#endif // ACTORSPRITEMANAGER_H