1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-01 03:21:41 +00:00
OpenMW/apps/openmw/mwclass/ingredient.hpp
fredzio c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00

56 lines
2.2 KiB
C++

#ifndef GAME_MWCLASS_INGREDIENT_H
#define GAME_MWCLASS_INGREDIENT_H
#include "../mwworld/class.hpp"
namespace MWClass
{
class Ingredient : public MWWorld::Class
{
MWWorld::Ptr copyToCellImpl(const MWWorld::ConstPtr &ptr, MWWorld::CellStore &cell) const override;
public:
void insertObjectRendering (const MWWorld::Ptr& ptr, const std::string& model, MWRender::RenderingInterface& renderingInterface) const override;
///< Add reference into a cell for rendering
std::string getName (const MWWorld::ConstPtr& ptr) const override;
///< \return name or ID; can return an empty string.
std::shared_ptr<MWWorld::Action> activate (const MWWorld::Ptr& ptr,
const MWWorld::Ptr& actor) const override;
///< Generate action for activation
MWGui::ToolTipInfo getToolTipInfo (const MWWorld::ConstPtr& ptr, int count) const override;
///< @return the content of the tool tip to be displayed. raises exception if the object has no tooltip.
std::string getScript (const MWWorld::ConstPtr& ptr) const override;
///< Return name of the script attached to ptr
int getValue (const MWWorld::ConstPtr& ptr) const override;
///< Return trade value of the object. Throws an exception, if the object can't be traded.
std::shared_ptr<MWWorld::Action> use (const MWWorld::Ptr& ptr, bool force=false) const override;
///< Generate action for using via inventory menu
static void registerSelf();
std::string getUpSoundId (const MWWorld::ConstPtr& ptr) const override;
///< Return the pick up sound Id
std::string getDownSoundId (const MWWorld::ConstPtr& ptr) const override;
///< Return the put down sound Id
std::string getInventoryIcon (const MWWorld::ConstPtr& ptr) const override;
///< Return name of inventory icon.
std::string getModel(const MWWorld::ConstPtr &ptr) const override;
float getWeight (const MWWorld::ConstPtr& ptr) const override;
bool canSell (const MWWorld::ConstPtr& item, int npcServices) const override;
};
}
#endif