Files
src-1.2/engine/server/library/serverGame/src/shared/object/PatrolPathRootProperty.h
T

76 lines
1.7 KiB
C++
Executable File

// ======================================================================
//
// PatrolPathRootProperty.h
// Copyright 2001 Sony Online Entertainment Inc.
// All Rights Reserved.
//
// ======================================================================
#ifndef INCLUDED_PatrolPathRootProperty_H
#define INCLUDED_PatrolPathRootProperty_H
// ======================================================================
#include "sharedFoundation/Watcher.h"
#include "sharedObject/Property.h"
class ServerObject;
// ======================================================================
class PatrolPathRootProperty : public Property
{
public:
static PropertyId getClassPropertyId();
public:
PatrolPathRootProperty(Object& thisObject);
~PatrolPathRootProperty();
int getObserverCount() const;
void incrementObserverCount();
void decrementObserverCount();
void addPatrollingObject(const ServerObject & ai);
void removePatrollingObject(const ServerObject & ai);
const stdset<ConstWatcher<ServerObject> >::fwd & getPatrollingObjects() const;
private:
int m_observerCount;
stdset<ConstWatcher<ServerObject> >::fwd * m_patrollers;
private:
PatrolPathRootProperty();
PatrolPathRootProperty(const PatrolPathRootProperty&);
PatrolPathRootProperty& operator= (const PatrolPathRootProperty&);
};
// ======================================================================
inline int PatrolPathRootProperty::getObserverCount() const
{
return m_observerCount;
}
inline void PatrolPathRootProperty::incrementObserverCount()
{
++m_observerCount;
}
inline void PatrolPathRootProperty::decrementObserverCount()
{
--m_observerCount;
}
// ======================================================================
#endif