Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
GridReference.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
#ifndef SF_GRIDREFERENCE_H
6
#define SF_GRIDREFERENCE_H
7
8
#include "
LinkedReference/Reference.h
"
9
10
template
<
class
OBJECT>
11
class
GridRefManager
;
12
13
template
<
class
OBJECT>
14
class
GridReference
:
public
Reference
<GridRefManager<OBJECT>, OBJECT>
15
{
16
protected
:
17
void
targetObjectBuildLink
()
18
{
19
// called from link()
20
this->
getTarget
()->insertFirst(
this
);
21
this->
getTarget
()->incSize();
22
}
23
void
targetObjectDestroyLink
()
24
{
25
// called from unlink()
26
if
(this->
isValid
()) this->
getTarget
()->decSize();
27
}
28
void
sourceObjectDestroyLink
()
29
{
30
// called from invalidate()
31
this->
getTarget
()->decSize();
32
}
33
public
:
34
GridReference
() :
Reference
<
GridRefManager
<OBJECT>, OBJECT>() { }
35
~GridReference
() { this->
unlink
(); }
36
GridReference
*
next
() {
return
(
GridReference
*)
Reference<GridRefManager<OBJECT>
, OBJECT>
::next
(); }
37
};
38
#endif
Reference.h
GridRefManager
Definition
GridRefManager.h:16
GridReference::~GridReference
~GridReference()
Definition
GridReference.h:35
GridReference::next
GridReference * next()
Definition
GridReference.h:36
GridReference::GridReference
GridReference()
Definition
GridReference.h:34
GridReference::sourceObjectDestroyLink
void sourceObjectDestroyLink()
Definition
GridReference.h:28
GridReference::targetObjectBuildLink
void targetObjectBuildLink()
Definition
GridReference.h:17
GridReference::targetObjectDestroyLink
void targetObjectDestroyLink()
Definition
GridReference.h:23
Reference< GridRefManager< OBJECT >, OBJECT >::getTarget
GridRefManager< OBJECT > * getTarget() const
Definition
Reference.h:81
Reference< GridRefManager< OBJECT >, OBJECT >::unlink
void unlink()
Definition
Reference.h:48
Reference< GridRefManager< OBJECT >, OBJECT >::isValid
bool isValid() const
Definition
Reference.h:65
Reference< GridRefManager< OBJECT >, OBJECT >::Reference
Reference()
Definition
Reference.h:29
src
server
game
Grids
GridReference.h
Generated on
for Project SkyFire Core by
1.17.0