khanat-opennel-code/code/ryzom/server/src/entities_game_service/mission_pd.h
acemtp@users.sourceforge.net d5c601ffa5 initial version
2010-05-06 02:08:41 +02:00

2024 lines
45 KiB
C++

// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef MISSION_PD_H
#define MISSION_PD_H
#include <nel/misc/types_nl.h>
#include <nel/misc/debug.h>
#include <nel/misc/common.h>
#include <nel/misc/entity_id.h>
#include <nel/misc/sheet_id.h>
#include <vector>
#include <map>
#include <pd_lib/pd_lib.h>
#include <game_share/persistent_data.h>
// User #includes
#include "mission_manager/mission_base_behaviour.h"
namespace EGSPD
{
//
// Forward declarations
//
//
// Typedefs & Enums
//
/** CActiveStepStatePD
* defined at entities_game_service/pd_scripts/mission.pds:6
*/
class CActiveStepStatePD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getIndex() const;
uint32 getState() const;
void setState(uint32 __v, bool forceWrite=false);
CActiveStepPD* getStep();
const CActiveStepPD* getStep() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CActiveStepStatePD
*/
static CActiveStepStatePD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CActiveStepStatePD
*/
static const CActiveStepStatePD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CActiveStepStatePD();
~CActiveStepStatePD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Index;
uint32 _State;
CActiveStepPD* _Step;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Index);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CActiveStepPD* __parent);
void pds__setParentUnnotified(CActiveStepPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CActiveStepPD;
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CActiveStepPD
* defined at entities_game_service/pd_scripts/mission.pds:13
*/
class CActiveStepPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getIndexInTemplate() const;
CActiveStepStatePD* getStates(const uint32& __k);
const CActiveStepStatePD* getStates(const uint32& __k) const;
std::map<uint32, CActiveStepStatePD>::iterator getStatesBegin();
std::map<uint32, CActiveStepStatePD>::iterator getStatesEnd();
std::map<uint32, CActiveStepStatePD>::const_iterator getStatesBegin() const;
std::map<uint32, CActiveStepStatePD>::const_iterator getStatesEnd() const;
const std::map<uint32, CActiveStepStatePD> & getStates() const;
CActiveStepStatePD* addToStates(const uint32 &__k);
void deleteFromStates(const uint32 &__k);
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CActiveStepPD
*/
static CActiveStepPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CActiveStepPD
*/
static const CActiveStepPD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CActiveStepPD();
~CActiveStepPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _IndexInTemplate;
std::map<uint32, CActiveStepStatePD> _States;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &IndexInTemplate);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class CActiveStepStatePD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CDoneStepPD
* defined at entities_game_service/pd_scripts/mission.pds:20
*/
class CDoneStepPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getIndex() const;
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CDoneStepPD
*/
static CDoneStepPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CDoneStepPD
*/
static const CDoneStepPD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CDoneStepPD();
~CDoneStepPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Index;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Index);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionCompassPD
* defined at entities_game_service/pd_scripts/mission.pds:27
*/
class CMissionCompassPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getIndex() const;
uint32 getPlace() const;
void setPlace(uint32 __v, bool forceWrite=false);
uint32 getBotId() const;
void setBotId(uint32 __v, bool forceWrite=false);
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CMissionCompassPD
*/
static CMissionCompassPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionCompassPD
*/
static const CMissionCompassPD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name User defined attributes and methods
// @{
/**
* This code was verbatim copied from source file
*/
// User code appended in mission.pds
uint32 NameStringId;
std::string NameString;
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionCompassPD();
~CMissionCompassPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Index;
uint32 _Place;
uint32 _BotId;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Index);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionTeleportPD
* defined at entities_game_service/pd_scripts/mission.pds:49
*/
class CMissionTeleportPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getIndex() const;
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CMissionTeleportPD
*/
static CMissionTeleportPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionTeleportPD
*/
static const CMissionTeleportPD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionTeleportPD();
~CMissionTeleportPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Index;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Index);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionInsidePlacePD
* defined at entities_game_service/pd_scripts/mission.pds:55
*/
class CMissionInsidePlacePD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getAlias() const;
uint32 getDelay() const;
void setDelay(uint32 __v, bool forceWrite=false);
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CMissionInsidePlacePD
*/
static CMissionInsidePlacePD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionInsidePlacePD
*/
static const CMissionInsidePlacePD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionInsidePlacePD();
~CMissionInsidePlacePD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Alias;
uint32 _Delay;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Alias);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionOutsidePlacePD
* defined at entities_game_service/pd_scripts/mission.pds:61
*/
class CMissionOutsidePlacePD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getAlias() const;
uint32 getDelay() const;
void setDelay(uint32 __v, bool forceWrite=false);
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CMissionOutsidePlacePD
*/
static CMissionOutsidePlacePD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionOutsidePlacePD
*/
static const CMissionOutsidePlacePD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionOutsidePlacePD();
~CMissionOutsidePlacePD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _Alias;
uint32 _Delay;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &Alias);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CHandledAIGroupPD
* defined at entities_game_service/pd_scripts/mission.pds:68
*/
class CHandledAIGroupPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getGroupAlias() const;
uint32 getDespawnTime() const;
void setDespawnTime(uint32 __v, bool forceWrite=false);
CMissionPD* getMission();
const CMissionPD* getMission() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CHandledAIGroupPD
*/
static CHandledAIGroupPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CHandledAIGroupPD
*/
static const CHandledAIGroupPD* cast(const RY_PDS::IPDBaseData* obj);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CHandledAIGroupPD();
~CHandledAIGroupPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _GroupAlias;
uint32 _DespawnTime;
CMissionPD* _Mission;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const uint32 &GroupAlias);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__setParent(CMissionPD* __parent);
void pds__setParentUnnotified(CMissionPD* __parent);
void pds__notifyInit();
void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class CMissionContainerPD;
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionPD
* defined at entities_game_service/pd_scripts/mission.pds:75
*/
class CMissionPD : public RY_PDS::IPDBaseData, public CMissionBaseBehaviour
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
uint32 getTemplateId() const;
uint32 getMainMissionTemplateId() const;
void setMainMissionTemplateId(uint32 __v, bool forceWrite=false);
uint32 getGiver() const;
void setGiver(uint32 __v, bool forceWrite=false);
float getHourLowerBound() const;
void setHourLowerBound(float __v, bool forceWrite=false);
float getHourUpperBound() const;
void setHourUpperBound(float __v, bool forceWrite=false);
CSeason::TSeason getSeason() const;
void setSeason(CSeason::TSeason __v, bool forceWrite=false);
uint32 getMonoEndDate() const;
void setMonoEndDate(uint32 __v, bool forceWrite=false);
uint32 getEndDate() const;
void setEndDate(uint32 __v, bool forceWrite=false);
uint32 getCriticalPartEndDate() const;
void setCriticalPartEndDate(uint32 __v, bool forceWrite=false);
uint32 getBeginDate() const;
void setBeginDate(uint32 __v, bool forceWrite=false);
uint32 getFailureIndex() const;
void setFailureIndex(uint32 __v, bool forceWrite=false);
uint32 getCrashHandlerIndex() const;
void setCrashHandlerIndex(uint32 __v, bool forceWrite=false);
uint32 getPlayerReconnectHandlerIndex() const;
void setPlayerReconnectHandlerIndex(uint32 __v, bool forceWrite=false);
bool getFinished() const;
void setFinished(bool __v, bool forceWrite=false);
bool getMissionSuccess() const;
void setMissionSuccess(bool __v, bool forceWrite=false);
uint32 getDescIndex() const;
void setDescIndex(uint32 __v, bool forceWrite=false);
uint32 getWaitingQueueId() const;
void setWaitingQueueId(uint32 __v, bool forceWrite=false);
CActiveStepPD* getSteps(const uint32& __k);
const CActiveStepPD* getSteps(const uint32& __k) const;
std::map<uint32, CActiveStepPD>::iterator getStepsBegin();
std::map<uint32, CActiveStepPD>::iterator getStepsEnd();
std::map<uint32, CActiveStepPD>::const_iterator getStepsBegin() const;
std::map<uint32, CActiveStepPD>::const_iterator getStepsEnd() const;
const std::map<uint32, CActiveStepPD> & getSteps() const;
CActiveStepPD* addToSteps(const uint32 &__k);
void deleteFromSteps(const uint32 &__k);
CMissionCompassPD* getCompass(const uint32& __k);
const CMissionCompassPD* getCompass(const uint32& __k) const;
std::map<uint32, CMissionCompassPD>::iterator getCompassBegin();
std::map<uint32, CMissionCompassPD>::iterator getCompassEnd();
std::map<uint32, CMissionCompassPD>::const_iterator getCompassBegin() const;
std::map<uint32, CMissionCompassPD>::const_iterator getCompassEnd() const;
const std::map<uint32, CMissionCompassPD> & getCompass() const;
CMissionCompassPD* addToCompass(const uint32 &__k);
void deleteFromCompass(const uint32 &__k);
CDoneStepPD* getStepsDone(const uint32& __k);
const CDoneStepPD* getStepsDone(const uint32& __k) const;
std::map<uint32, CDoneStepPD>::iterator getStepsDoneBegin();
std::map<uint32, CDoneStepPD>::iterator getStepsDoneEnd();
std::map<uint32, CDoneStepPD>::const_iterator getStepsDoneBegin() const;
std::map<uint32, CDoneStepPD>::const_iterator getStepsDoneEnd() const;
const std::map<uint32, CDoneStepPD> & getStepsDone() const;
CDoneStepPD* addToStepsDone(const uint32 &__k);
void deleteFromStepsDone(const uint32 &__k);
CMissionTeleportPD* getTeleports(const uint32& __k);
const CMissionTeleportPD* getTeleports(const uint32& __k) const;
std::map<uint32, CMissionTeleportPD>::iterator getTeleportsBegin();
std::map<uint32, CMissionTeleportPD>::iterator getTeleportsEnd();
std::map<uint32, CMissionTeleportPD>::const_iterator getTeleportsBegin() const;
std::map<uint32, CMissionTeleportPD>::const_iterator getTeleportsEnd() const;
const std::map<uint32, CMissionTeleportPD> & getTeleports() const;
CMissionTeleportPD* addToTeleports(const uint32 &__k);
void deleteFromTeleports(const uint32 &__k);
CMissionInsidePlacePD* getInsidePlaces(const uint32& __k);
const CMissionInsidePlacePD* getInsidePlaces(const uint32& __k) const;
std::map<uint32, CMissionInsidePlacePD>::iterator getInsidePlacesBegin();
std::map<uint32, CMissionInsidePlacePD>::iterator getInsidePlacesEnd();
std::map<uint32, CMissionInsidePlacePD>::const_iterator getInsidePlacesBegin() const;
std::map<uint32, CMissionInsidePlacePD>::const_iterator getInsidePlacesEnd() const;
const std::map<uint32, CMissionInsidePlacePD> & getInsidePlaces() const;
CMissionInsidePlacePD* addToInsidePlaces(const uint32 &__k);
void deleteFromInsidePlaces(const uint32 &__k);
CMissionOutsidePlacePD* getOutsidePlaces(const uint32& __k);
const CMissionOutsidePlacePD* getOutsidePlaces(const uint32& __k) const;
std::map<uint32, CMissionOutsidePlacePD>::iterator getOutsidePlacesBegin();
std::map<uint32, CMissionOutsidePlacePD>::iterator getOutsidePlacesEnd();
std::map<uint32, CMissionOutsidePlacePD>::const_iterator getOutsidePlacesBegin() const;
std::map<uint32, CMissionOutsidePlacePD>::const_iterator getOutsidePlacesEnd() const;
const std::map<uint32, CMissionOutsidePlacePD> & getOutsidePlaces() const;
CMissionOutsidePlacePD* addToOutsidePlaces(const uint32 &__k);
void deleteFromOutsidePlaces(const uint32 &__k);
CHandledAIGroupPD* getHandledAIGroups(const uint32& __k);
const CHandledAIGroupPD* getHandledAIGroups(const uint32& __k) const;
std::map<uint32, CHandledAIGroupPD>::iterator getHandledAIGroupsBegin();
std::map<uint32, CHandledAIGroupPD>::iterator getHandledAIGroupsEnd();
std::map<uint32, CHandledAIGroupPD>::const_iterator getHandledAIGroupsBegin() const;
std::map<uint32, CHandledAIGroupPD>::const_iterator getHandledAIGroupsEnd() const;
const std::map<uint32, CHandledAIGroupPD> & getHandledAIGroups() const;
CHandledAIGroupPD* addToHandledAIGroups(const uint32 &__k);
void deleteFromHandledAIGroups(const uint32 &__k);
CMissionContainerPD* getContainer();
const CMissionContainerPD* getContainer() const;
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
virtual void clear();
/**
* Cast base object to CMissionPD
*/
static CMissionPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionPD
*/
static const CMissionPD* cast(const RY_PDS::IPDBaseData* obj);
/**
* Set user factory for this class (as class is indicated as derived, a home made constructor must be provided)
*/
static void setFactory(RY_PDS::TPDFactory userFactory);
/**
* Create an object of the CMissionPD class, and declare it to the PDS.
*/
static CMissionPD* create(const uint32 &TemplateId);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionPD();
virtual ~CMissionPD();
// @}
public:
/// \name Persistent methods declaration
// @{
virtual void apply(CPersistentDataRecord &__pdr);
virtual void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name User defined init and release methods
// @{
/**
* Overload those methods to implement init and release behaviours
*/
virtual void init();
virtual void release();
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
uint32 _TemplateId;
uint32 _MainMissionTemplateId;
uint32 _Giver;
float _HourLowerBound;
float _HourUpperBound;
CSeason::TSeason _Season;
uint32 _MonoEndDate;
uint32 _EndDate;
uint32 _CriticalPartEndDate;
uint32 _BeginDate;
uint32 _FailureIndex;
uint32 _CrashHandlerIndex;
uint32 _PlayerReconnectHandlerIndex;
bool _Finished;
bool _MissionSuccess;
uint32 _DescIndex;
uint32 _WaitingQueueId;
std::map<uint32, CActiveStepPD> _Steps;
std::map<uint32, CMissionCompassPD> _Compass;
std::map<uint32, CDoneStepPD> _StepsDone;
std::map<uint32, CMissionTeleportPD> _Teleports;
std::map<uint32, CMissionInsidePlacePD> _InsidePlaces;
std::map<uint32, CMissionOutsidePlacePD> _OutsidePlaces;
std::map<uint32, CHandledAIGroupPD> _HandledAIGroups;
CMissionContainerPD* _Container;
// @}
protected:
/// \name Internal Management methods
// @{
virtual void pds__init(const uint32 &TemplateId);
virtual void pds__destroy();
virtual void pds__fetch(RY_PDS::CPData &data);
virtual void pds__register();
virtual void pds__registerAttributes();
virtual void pds__unregister();
virtual void pds__unregisterAttributes();
void pds__setParent(CMissionContainerPD* __parent);
void pds__setParentUnnotified(CMissionContainerPD* __parent);
virtual void pds__notifyInit();
virtual void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static void pds_static__setFactory(RY_PDS::TPDFactory userFactory);
static bool _FactoryInitialised;
static RY_PDS::CIndexAllocator _IndexAllocator;
static void pds_static__fetch(RY_PDS::IPDBaseData *object, RY_PDS::CPData &data);
// @}
protected:
friend class CMissionContainerPD;
friend class CActiveStepPD;
friend class CDoneStepPD;
friend class CHandledAIGroupPD;
friend class CMissionCompassPD;
friend class CMissionInsidePlacePD;
friend class CMissionOutsidePlacePD;
friend class CMissionTeleportPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionGuildPD
* defined at entities_game_service/pd_scripts/mission.pds:135
*/
class CMissionGuildPD : public CMissionPD
{
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
virtual void clear();
/**
* Cast base object to CMissionGuildPD
*/
static CMissionGuildPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionGuildPD
*/
static const CMissionGuildPD* cast(const RY_PDS::IPDBaseData* obj);
/**
* Set user factory for this class (as class is indicated as derived, a home made constructor must be provided)
*/
static void setFactory(RY_PDS::TPDFactory userFactory);
/**
* Create an object of the CMissionGuildPD class, and declare it to the PDS.
*/
static CMissionGuildPD* create(const uint32 &TemplateId);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionGuildPD();
virtual ~CMissionGuildPD();
// @}
public:
/// \name Persistent methods declaration
// @{
virtual void apply(CPersistentDataRecord &__pdr);
virtual void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name User defined init and release methods
// @{
/**
* Overload those methods to implement init and release behaviours
*/
virtual void init();
virtual void release();
// @}
protected:
/// \name Internal Management methods
// @{
virtual void pds__init(const uint32 &TemplateId);
virtual void pds__destroy();
virtual void pds__fetch(RY_PDS::CPData &data);
virtual void pds__register();
virtual void pds__registerAttributes();
virtual void pds__unregister();
virtual void pds__unregisterAttributes();
virtual void pds__notifyInit();
virtual void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static void pds_static__setFactory(RY_PDS::TPDFactory userFactory);
static bool _FactoryInitialised;
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionTeamPD
* defined at entities_game_service/pd_scripts/mission.pds:139
*/
class CMissionTeamPD : public CMissionPD
{
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
virtual void clear();
/**
* Cast base object to CMissionTeamPD
*/
static CMissionTeamPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionTeamPD
*/
static const CMissionTeamPD* cast(const RY_PDS::IPDBaseData* obj);
/**
* Set user factory for this class (as class is indicated as derived, a home made constructor must be provided)
*/
static void setFactory(RY_PDS::TPDFactory userFactory);
/**
* Create an object of the CMissionTeamPD class, and declare it to the PDS.
*/
static CMissionTeamPD* create(const uint32 &TemplateId);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionTeamPD();
virtual ~CMissionTeamPD();
// @}
public:
/// \name Persistent methods declaration
// @{
virtual void apply(CPersistentDataRecord &__pdr);
virtual void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name User defined init and release methods
// @{
/**
* Overload those methods to implement init and release behaviours
*/
virtual void init();
virtual void release();
// @}
protected:
/// \name Internal Management methods
// @{
virtual void pds__init(const uint32 &TemplateId);
virtual void pds__destroy();
virtual void pds__fetch(RY_PDS::CPData &data);
virtual void pds__register();
virtual void pds__registerAttributes();
virtual void pds__unregister();
virtual void pds__unregisterAttributes();
virtual void pds__notifyInit();
virtual void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static void pds_static__setFactory(RY_PDS::TPDFactory userFactory);
static bool _FactoryInitialised;
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionSoloPD
* defined at entities_game_service/pd_scripts/mission.pds:144
*/
class CMissionSoloPD : public CMissionPD
{
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
virtual void clear();
/**
* Cast base object to CMissionSoloPD
*/
static CMissionSoloPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionSoloPD
*/
static const CMissionSoloPD* cast(const RY_PDS::IPDBaseData* obj);
/**
* Set user factory for this class (as class is indicated as derived, a home made constructor must be provided)
*/
static void setFactory(RY_PDS::TPDFactory userFactory);
/**
* Create an object of the CMissionSoloPD class, and declare it to the PDS.
*/
static CMissionSoloPD* create(const uint32 &TemplateId);
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionSoloPD();
virtual ~CMissionSoloPD();
// @}
public:
/// \name Persistent methods declaration
// @{
virtual void apply(CPersistentDataRecord &__pdr);
virtual void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name User defined init and release methods
// @{
/**
* Overload those methods to implement init and release behaviours
*/
virtual void init();
virtual void release();
// @}
protected:
/// \name Internal Management methods
// @{
virtual void pds__init(const uint32 &TemplateId);
virtual void pds__destroy();
virtual void pds__fetch(RY_PDS::CPData &data);
virtual void pds__register();
virtual void pds__registerAttributes();
virtual void pds__unregister();
virtual void pds__unregisterAttributes();
virtual void pds__notifyInit();
virtual void pds__notifyRelease();
static void pds_static__init();
// @}
protected:
/// \name Default Factory and Fetch methods
// @{
static void pds_static__setFactory(RY_PDS::TPDFactory userFactory);
static bool _FactoryInitialised;
static RY_PDS::CIndexAllocator _IndexAllocator;
// @}
protected:
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
/** CMissionContainerPD
* defined at entities_game_service/pd_scripts/mission.pds:148
*/
class CMissionContainerPD : public RY_PDS::IPDBaseData
{
public:
/// \name Accessors and Mutators methods
// @{
/**
* Use these methods to change a value, add or delete elements.
*/
NLMISC::CEntityId getCharId() const;
CMissionPD* getMissions(const uint32& __k);
const CMissionPD* getMissions(const uint32& __k) const;
std::map<uint32, CMissionPD*>::iterator getMissionsBegin();
std::map<uint32, CMissionPD*>::iterator getMissionsEnd();
std::map<uint32, CMissionPD*>::const_iterator getMissionsBegin() const;
std::map<uint32, CMissionPD*>::const_iterator getMissionsEnd() const;
const std::map<uint32, CMissionPD*> & getMissions() const;
void setMissions(CMissionPD* __v);
void deleteFromMissions(const uint32 &__k);
// @}
public:
/// \name Public Management methods
// @{
/**
* Use these methods to create, load, unload and get
* an object from database.
*/
/**
* Clear whole object content but key (delete subobjects if there are, key is left unmodified), default clear value is 0.
*/
void clear();
/**
* Cast base object to CMissionContainerPD
*/
static CMissionContainerPD* cast(RY_PDS::IPDBaseData* obj);
/**
* Cast base object to const CMissionContainerPD
*/
static const CMissionContainerPD* cast(const RY_PDS::IPDBaseData* obj);
/**
* Create an object of the CMissionContainerPD class, and declare it to the PDS.
*/
static CMissionContainerPD* create(const NLMISC::CEntityId &CharId);
/**
* Destroy an object from the PDS. Caution! Object will no longer exist in database.
* Also children (that is objects that belong to this object) are also destroyed.
*/
static void remove(const NLMISC::CEntityId& CharId);
/**
* Retrieve an object from the database.
* Data are sent asynchronously, so the load callback is called when data are ready.
* Use get() to access to the loaded object.
*/
static void load(const NLMISC::CEntityId& CharId);
/**
* Setup load callback so client is warned that load succeded or failed.
*/
static void setLoadCallback(void (*callback)(const NLMISC::CEntityId& key, CMissionContainerPD* object));
/**
* Unload an object from the client memory. Object still exists in database and can be retrieved again using load.
*/
static void unload(const NLMISC::CEntityId &CharId);
/**
* Get an object in client. Object must have been previously loaded from database with a load.
*/
static CMissionContainerPD* get(const NLMISC::CEntityId &CharId);
/**
* Return the begin iterator of the global map of CMissionContainerPD
*/
static std::map<NLMISC::CEntityId, CMissionContainerPD*>::iterator begin();
/**
* Return the end iterator of the global map of CMissionContainerPD
*/
static std::map<NLMISC::CEntityId, CMissionContainerPD*>::iterator end();
// @}
public:
/// \name Public constructor
// @{
/**
* This constructor is public to allow direct instanciation of the class
*/
CMissionContainerPD();
~CMissionContainerPD();
// @}
public:
/// \name Persistent methods declaration
// @{
void apply(CPersistentDataRecord &__pdr);
void store(CPersistentDataRecord &__pdr) const;
// @}
protected:
/// \name Attributes
// @{
/**
* Don't modify those value manually, use accessors and mutators above
*/
NLMISC::CEntityId _CharId;
std::map<uint32, CMissionPD*> _Missions;
// @}
protected:
/// \name Internal Management methods
// @{
void pds__init(const NLMISC::CEntityId &CharId);
void pds__destroy();
void pds__fetch(RY_PDS::CPData &data);
void pds__register();
void pds__registerAttributes();
void pds__unregister();
void pds__unregisterAttributes();
void pds__notifyInit();
void pds__notifyRelease();
void pds__unlinkMissions(uint32 __k);
static void pds_static__init();
// @}
protected:
static std::map<NLMISC::CEntityId,CMissionContainerPD*> _Map;
protected:
/// \name Default Factory and Fetch methods
// @{
static void pds_static__setFactory(RY_PDS::TPDFactory userFactory);
static bool _FactoryInitialised;
static void pds_static__notifyFailure(uint64 key);
static void (*__pds__LoadCallback)(const NLMISC::CEntityId& key, CMissionContainerPD* object);
static RY_PDS::CIndexAllocator _IndexAllocator;
static RY_PDS::IPDBaseData* pds_static__factory();
static void pds_static__fetch(RY_PDS::IPDBaseData *object, RY_PDS::CPData &data);
// @}
protected:
friend class CMissionPD;
friend class RY_PDS::CPDSLib;
friend void EGSPD::init(uint32);
};
} // End of EGSPD
#endif