You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/apps/openmw/mwmp/PlayerMarkerCollection.hpp

49 lines
1.3 KiB
C++

//
// Created by koncord on 30.09.16.
//
// Copied from MWGui::CustomMarkerCollection
#ifndef OPENMW_PLAYERMARKERCOLLECTION_HPP
#define OPENMW_PLAYERMARKERCOLLECTION_HPP
#include <components/esm/cellid.hpp>
#include <components/esm/custommarkerstate.hpp>
#include <map>
#include <MyGUI_Common.h>
#include <MyGUI_Colour.h>
namespace mwmp
{
class PlayerMarkerCollection
{
public:
void addMarker(const ESM::CustomMarker &marker, bool triggerEvent = true);
void deleteMarker(const ESM::CustomMarker &marker);
void updateMarker(const ESM::CustomMarker &marker, const std::string &newNote);
void clear();
size_t size() const;
typedef std::multimap <ESM::CellId, ESM::CustomMarker> ContainerType;
typedef std::pair <ContainerType::const_iterator, ContainerType::const_iterator> RangeType;
ContainerType::const_iterator begin() const;
ContainerType::const_iterator end() const;
RangeType getMarkers(const ESM::CellId &cellId) const;
typedef MyGUI::delegates::CMultiDelegate0 EventHandle_Void;
EventHandle_Void eventMarkersChanged;
bool contains(const ESM::CustomMarker &marker);
private:
ContainerType mMarkers;
};
}
#endif //OPENMW_PLAYERMARKERCOLLECTION_HPP