AlpacaLibrary/Include/Game/Core.hpp

179 lines
5.8 KiB
C++
Raw Normal View History

2017-12-25 23:49:48 +00:00
#ifndef CORE_HPP_INCLUDED
#define CORE_HPP_INCLUDED
#include "../Core/Internal.hpp"
#include "Tools/BreakHandler.hpp"
#include "Tools/Interact.hpp"
#include "Tools/Profile.hpp"
#include "Tools/Settings.hpp"
#include "Tools/Widgets.hpp"
#include "Tools/Worlds.hpp"
#include "Interfaces/Bank.hpp"
#include "Interfaces/Chat.hpp"
#include "Interfaces/DepositBox.hpp"
#include "Interfaces/Login.hpp"
#include "Interfaces/Mainscreen.hpp"
#include "Interfaces/Menu.hpp"
#include "Interfaces/Minimap.hpp"
#include "Interfaces/GameTabs/Clan.hpp"
#include "Interfaces/GameTabs/Combat.hpp"
#include "Interfaces/GameTabs/Emotes.hpp"
#include "Interfaces/GameTabs/Equipment.hpp"
#include "Interfaces/GameTabs/Friends.hpp"
#include "Interfaces/GameTabs/Ignores.hpp"
#include "Interfaces/GameTabs/Inventory.hpp"
#include "Interfaces/GameTabs/Logout.hpp"
#include "Interfaces/GameTabs/Magic.hpp"
#include "Interfaces/GameTabs/Music.hpp"
#include "Interfaces/GameTabs/Options.hpp"
#include "Interfaces/GameTabs/Prayer.hpp"
#include "Interfaces/GameTabs/Quests.hpp"
#include "Interfaces/GameTabs/Stats.hpp"
2018-03-20 16:16:11 +00:00
#include "Models/DecorativeObjects.hpp"
#include "Models/GameObjects.hpp"
2017-12-25 23:49:48 +00:00
#include "Models/GroundItems.hpp"
2018-03-20 16:16:11 +00:00
#include "Models/GroundObjects.hpp"
2017-12-25 23:49:48 +00:00
#include "Models/NPCs.hpp"
#include "Models/Players.hpp"
2018-03-20 16:16:11 +00:00
#include "Models/WallObjects.hpp"
2017-12-25 23:49:48 +00:00
2018-03-27 02:51:41 +00:00
#include "Interactable/DecorativeObject.hpp"
2018-03-18 14:38:29 +00:00
#include "Interactable/GameObject.hpp"
2018-03-27 02:51:41 +00:00
#include "Interactable/GroundObject.hpp"
#include "Interactable/WallObject.hpp"
2018-04-15 05:08:42 +00:00
#include "Interactable/Player.hpp"
#include "Interactable/NPC.hpp"
2018-03-18 14:38:29 +00:00
2018-04-10 02:12:44 +00:00
#include "Tools/RandomHandler.hpp"
2017-12-25 23:49:48 +00:00
//
// DoxyGen
//=======================================================
// Pages
//=======================================================
/**
* @mainpage
* Mainpage Docs
*
* @page About About
* About
*
* @page GettingStarted Getting Started
* Getting Started
*
* @page RandomMethodDocs Random Distribution Methods
* @tableofcontents
* @section UniformRandomDocs Uniform Random Distribution
* Uniform Random Documentation
* @section BinomialRandomDocs Binomial Random Distribution
* Binomial Random Documentation
* @section NormalRandomDocs Normal Random Distribution
* Normal Random Documentation
* @section HybridRandomDocs Hybrid Random Distribution
* Hybrid Random Documentation
* @section MissChanceFollowupDocs MissChanceFollowup
* MissChanceFollowupDocs
*
* @page DetailedFuncDocs Detailed Function Documentation
* @tableofcontents
* @section ItemContainers Item Containers
* @subsection ICUsing Using Item Containers
* @subsection ICLibFunctions Lib functions that use an Internal Item Container
* Some classes have functions that Interface a class-related Item Container, an example
* being Bank::GetItemIDs(), which return an array of all ItemIDs found in the Bank Item Container. These interfaced-functions
* can be found in @ref Bank, @ref Inventory, and @ref Equipment
*
* Element positions in the returned arrays (ItemIDs, ItemNames, ItemAmounts) almost always correspond to their positions in the
* visual Game Interface. If there isn't an Item in a Container position, it's -1 for ItemIDs and Amounts, and simply a blank
* String ("") for ItemNames. Remember, arrays in C++ start at 0.
*
* Classes that Interface an Item Container will have a GetIndexOf() function, @ref Inventory::GetIndexOf() and
* @ref Bank::GetIndexOf() are examples. These two functions will return the Index of the passed Item (By ID, or Name)
* relative to the Item Container array, for example if Coins are in Inventory slot 5, using @ref Inventory::GetIndexOf("Coins")
* should return 4.
*
* Here is a more extensive example, where we grab the Item amount of Coins in our Inventory;
*
* @code
* std::int32_t CoinsIndex = Inventory::GetIndexOf("Coins");
* std::vector<std::int32_t> Amounts = Inventory::GetItemAmounts();
* if ((CoinsIndex != -1) && (CoindsIndex <= Amounts.size())) //A range check will never hurt
* {
* std::cout << "Coins has an Index of " << CoinsIndex << " relative to the Inventory Item Container Array" << std::endl;
* std::cout << "There are " << Amounts[Index] << " coins in our Inventory" << std::endl;
* }
* @endcode
*
* Here is a list of all class functions that Interface an internally-used Item Container.
* - Item IDs
* - @ref Bank::GetItemIDs()
* - @ref Inventory::GetItemIDs()
* - @ref Equipment::GetItemIDs()
* .
* - Item Names
* - @ref Bank::GetItemNames()
* - @ref Inventory::GetItemNames()
* - @ref Equipment::GetItemNames()
* .
* - Item Amounts
* - @ref Bank::GetItemAmounts()
* - @ref Inventory::GetItemAmounts()
* - @ref Equipment::GetItemAmounts()
* .
* @subsection Examples
*
*/
//=======================================================
// Groups
//=======================================================
/**
* @defgroup Core Core
*
* @defgroup Types Types
* @brief @b Types Module
* @ingroup Core
*
* @defgroup Math Math
* @brief @b Math Module
* @ingroup Core
*
* @defgroup Time Time
* @brief @b Time Module
* @ingroup Core
*
* @defgroup Game Game
*
* @defgroup Interfaces Interfaces
* @brief @b Interfaces Module
* @ingroup Game
*
* @defgroup Models Models
* @brief @b Models Module
* @ingroup Game
*
* @defgroup Tools Tools
* @brief @b Tools Module
* @ingroup Game
*
*/
//=======================================================
// SubGroups
//=======================================================
/**
* @defgroup GameTabs GameTabs
* @brief @b GameTabs Module
* @ingroup Interfaces
*
**/
//=======================================================
// Examples
//=======================================================
/**
* @example ScriptExample.cpp
**/
#endif // CORE_HPP_INCLUDED