2011-08-28 15:17:58 +02:00
|
|
|
/*
|
2012-01-02 17:58:37 +01:00
|
|
|
* Copyright (c) 2010-2012 OTClient <https://github.com/edubart/otclient>
|
2011-08-28 15:17:58 +02:00
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
|
|
* in the Software without restriction, including without limitation the rights
|
|
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
|
|
* furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice shall be included in
|
|
|
|
* all copies or substantial portions of the Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
* THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
2012-07-14 03:10:24 +02:00
|
|
|
#ifndef OTCLIENT_DECLARATIONS_H
|
|
|
|
#define OTCLIENT_DECLARATIONS_H
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2012-07-14 03:10:24 +02:00
|
|
|
#include "global.h"
|
|
|
|
#include <framework/net/declarations.h>
|
|
|
|
#include <framework/ui/declarations.h>
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2012-07-14 03:10:24 +02:00
|
|
|
// core
|
2012-01-30 01:00:12 +01:00
|
|
|
class Map;
|
2012-02-08 23:58:27 +01:00
|
|
|
class Game;
|
2012-01-30 01:00:12 +01:00
|
|
|
class MapView;
|
2011-08-15 23:02:52 +02:00
|
|
|
class Tile;
|
2011-08-15 16:11:24 +02:00
|
|
|
class Thing;
|
|
|
|
class Item;
|
2012-03-18 14:34:39 +01:00
|
|
|
class Container;
|
2011-08-15 16:11:24 +02:00
|
|
|
class Creature;
|
2012-01-09 06:23:39 +01:00
|
|
|
class Monster;
|
|
|
|
class Npc;
|
2011-08-15 23:02:52 +02:00
|
|
|
class Player;
|
|
|
|
class LocalPlayer;
|
2012-01-09 06:23:39 +01:00
|
|
|
class Effect;
|
|
|
|
class Missile;
|
2011-12-26 12:53:16 +01:00
|
|
|
class AnimatedText;
|
2011-12-29 18:45:59 +01:00
|
|
|
class StaticText;
|
2012-07-19 23:22:52 +02:00
|
|
|
class ThingType;
|
|
|
|
class ItemType;
|
2012-07-09 08:59:16 +02:00
|
|
|
class House;
|
|
|
|
class Town;
|
2012-07-18 16:36:46 +02:00
|
|
|
class CreatureType;
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2012-08-01 09:49:09 +02:00
|
|
|
typedef stdext::shared_object_ptr<MapView> MapViewPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Tile> TilePtr;
|
|
|
|
typedef stdext::shared_object_ptr<Thing> ThingPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Item> ItemPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Container> ContainerPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Creature> CreaturePtr;
|
|
|
|
typedef stdext::shared_object_ptr<Monster> MonsterPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Npc> NpcPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Player> PlayerPtr;
|
|
|
|
typedef stdext::shared_object_ptr<LocalPlayer> LocalPlayerPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Effect> EffectPtr;
|
|
|
|
typedef stdext::shared_object_ptr<Missile> MissilePtr;
|
|
|
|
typedef stdext::shared_object_ptr<AnimatedText> AnimatedTextPtr;
|
|
|
|
typedef stdext::shared_object_ptr<StaticText> StaticTextPtr;
|
|
|
|
typedef stdext::shared_object_ptr<ThingType> ThingTypePtr;
|
|
|
|
typedef stdext::shared_object_ptr<ItemType> ItemTypePtr;
|
|
|
|
typedef stdext::shared_object_ptr<House> HousePtr;
|
|
|
|
typedef stdext::shared_object_ptr<Town> TownPtr;
|
|
|
|
typedef stdext::shared_object_ptr<CreatureType> CreatureTypePtr;
|
2011-08-15 16:11:24 +02:00
|
|
|
|
2011-08-28 18:31:01 +02:00
|
|
|
typedef std::vector<ThingPtr> ThingList;
|
2012-07-19 23:22:52 +02:00
|
|
|
typedef std::vector<ThingTypePtr> ThingTypeList;
|
|
|
|
typedef std::vector<ItemTypePtr> ItemTypeList;
|
2012-07-09 08:59:16 +02:00
|
|
|
typedef std::vector<HousePtr> HouseList;
|
|
|
|
typedef std::vector<TownPtr> TownList;
|
2012-07-18 16:36:46 +02:00
|
|
|
typedef std::unordered_map<Position, TilePtr, PositionHasher> TileMap;
|
2011-08-28 18:31:01 +02:00
|
|
|
|
2012-07-14 03:10:24 +02:00
|
|
|
// net
|
|
|
|
class ProtocolLogin;
|
|
|
|
class ProtocolGame;
|
|
|
|
|
2012-08-01 09:49:09 +02:00
|
|
|
typedef stdext::shared_object_ptr<ProtocolGame> ProtocolGamePtr;
|
|
|
|
typedef stdext::shared_object_ptr<ProtocolLogin> ProtocolLoginPtr;
|
2012-07-14 03:10:24 +02:00
|
|
|
|
|
|
|
// ui
|
|
|
|
class UIItem;
|
|
|
|
class UICreature;
|
|
|
|
class UIMap;
|
|
|
|
class UIProgressRect;
|
|
|
|
|
2012-08-01 09:49:09 +02:00
|
|
|
typedef stdext::shared_object_ptr<UIItem> UIItemPtr;
|
|
|
|
typedef stdext::shared_object_ptr<UICreature> UICreaturePtr;
|
|
|
|
typedef stdext::shared_object_ptr<UIMap> UIMapPtr;
|
|
|
|
typedef stdext::shared_object_ptr<UIProgressRect> UIProgressRectPtr;
|
2012-07-14 03:10:24 +02:00
|
|
|
|
2011-08-15 16:11:24 +02:00
|
|
|
#endif
|