Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
MapLifecycle.cpp
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
6
#include "
MapLifecycle.h
"
7
8
namespace
Skyfire
9
{
10
namespace
Maps
11
{
12
MapMoveQueueAddAction
GetMoveQueueAddAction
(
MapObjectCellMoveState
state,
bool
queueLocked)
13
{
14
if
(queueLocked)
15
return
MAP_MOVE_QUEUE_ADD_SKIPPED_LOCKED
;
16
17
return
state ==
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_NONE
?
18
MAP_MOVE_QUEUE_ADD_APPEND
:
MAP_MOVE_QUEUE_ADD_REFRESH
;
19
}
20
21
MapMoveQueueRemoveAction
MarkMoveQueueEntryInactive
(
MapObjectCellMoveState
& state,
bool
queueLocked)
22
{
23
if
(queueLocked)
24
return
MAP_MOVE_QUEUE_REMOVE_SKIPPED_LOCKED
;
25
26
if
(state !=
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_ACTIVE
)
27
return
MAP_MOVE_QUEUE_REMOVE_ALREADY_CLEAR
;
28
29
state =
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_INACTIVE
;
30
return
MAP_MOVE_QUEUE_REMOVE_MARK_INACTIVE
;
31
}
32
33
bool
ConsumeMoveQueueEntry
(
MapObjectCellMoveState
& state)
34
{
35
bool
const
shouldMove = state ==
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_ACTIVE
;
36
state =
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_NONE
;
37
return
shouldMove;
38
}
39
40
MapAddObjectAction
GetAddObjectAction
(
bool
alreadyInWorld,
bool
validCoordinates)
41
{
42
if
(alreadyInWorld)
43
return
MAP_ADD_OBJECT_REFRESH_EXISTING
;
44
45
return
validCoordinates ?
MAP_ADD_OBJECT_ADD_TO_GRID
:
MAP_ADD_OBJECT_REJECT_INVALID_COORDS
;
46
}
47
48
MapRemoveListAddAction
GetRemoveListAddAction
(
bool
alreadyQueued)
49
{
50
return
alreadyQueued ?
MAP_REMOVE_LIST_ADD_ALREADY_QUEUED
:
MAP_REMOVE_LIST_ADD_INSERT
;
51
}
52
53
MapSwitchListAction
GetSwitchListAction
(
bool
supportedObjectType,
bool
alreadyQueued,
bool
queuedOn,
bool
requestedOn)
54
{
55
if
(!supportedObjectType)
56
return
MAP_SWITCH_LIST_IGNORE_UNSUPPORTED_TYPE
;
57
58
if
(!alreadyQueued)
59
return
MAP_SWITCH_LIST_INSERT
;
60
61
return
queuedOn != requestedOn ?
MAP_SWITCH_LIST_ERASE_OPPOSITE
:
MAP_SWITCH_LIST_REJECT_DUPLICATE
;
62
}
63
}
64
}
MapLifecycle.h
MapObjectCellMoveState
MapObjectCellMoveState
Definition
MapObjectCellMoveState.h:10
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_ACTIVE
@ MAP_OBJECT_CELL_MOVE_ACTIVE
Definition
MapObjectCellMoveState.h:12
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_INACTIVE
@ MAP_OBJECT_CELL_MOVE_INACTIVE
Definition
MapObjectCellMoveState.h:13
MapObjectCellMoveState::MAP_OBJECT_CELL_MOVE_NONE
@ MAP_OBJECT_CELL_MOVE_NONE
Definition
MapObjectCellMoveState.h:11
Skyfire::Maps
Definition
MapLifecycle.cpp:11
Skyfire::Maps::GetMoveQueueAddAction
MapMoveQueueAddAction GetMoveQueueAddAction(MapObjectCellMoveState state, bool queueLocked)
Definition
MapLifecycle.cpp:12
Skyfire::Maps::MapMoveQueueRemoveAction
MapMoveQueueRemoveAction
Definition
MapLifecycle.h:23
Skyfire::Maps::MAP_MOVE_QUEUE_REMOVE_SKIPPED_LOCKED
@ MAP_MOVE_QUEUE_REMOVE_SKIPPED_LOCKED
Definition
MapLifecycle.h:26
Skyfire::Maps::MAP_MOVE_QUEUE_REMOVE_ALREADY_CLEAR
@ MAP_MOVE_QUEUE_REMOVE_ALREADY_CLEAR
Definition
MapLifecycle.h:25
Skyfire::Maps::MAP_MOVE_QUEUE_REMOVE_MARK_INACTIVE
@ MAP_MOVE_QUEUE_REMOVE_MARK_INACTIVE
Definition
MapLifecycle.h:24
Skyfire::Maps::MapRemoveListAddAction
MapRemoveListAddAction
Definition
MapLifecycle.h:37
Skyfire::Maps::MAP_REMOVE_LIST_ADD_ALREADY_QUEUED
@ MAP_REMOVE_LIST_ADD_ALREADY_QUEUED
Definition
MapLifecycle.h:39
Skyfire::Maps::MAP_REMOVE_LIST_ADD_INSERT
@ MAP_REMOVE_LIST_ADD_INSERT
Definition
MapLifecycle.h:38
Skyfire::Maps::GetSwitchListAction
MapSwitchListAction GetSwitchListAction(bool supportedObjectType, bool alreadyQueued, bool queuedOn, bool requestedOn)
Definition
MapLifecycle.cpp:53
Skyfire::Maps::GetRemoveListAddAction
MapRemoveListAddAction GetRemoveListAddAction(bool alreadyQueued)
Definition
MapLifecycle.cpp:48
Skyfire::Maps::MarkMoveQueueEntryInactive
MapMoveQueueRemoveAction MarkMoveQueueEntryInactive(MapObjectCellMoveState &state, bool queueLocked)
Definition
MapLifecycle.cpp:21
Skyfire::Maps::GetAddObjectAction
MapAddObjectAction GetAddObjectAction(bool alreadyInWorld, bool validCoordinates)
Definition
MapLifecycle.cpp:40
Skyfire::Maps::MapSwitchListAction
MapSwitchListAction
Definition
MapLifecycle.h:43
Skyfire::Maps::MAP_SWITCH_LIST_INSERT
@ MAP_SWITCH_LIST_INSERT
Definition
MapLifecycle.h:45
Skyfire::Maps::MAP_SWITCH_LIST_ERASE_OPPOSITE
@ MAP_SWITCH_LIST_ERASE_OPPOSITE
Definition
MapLifecycle.h:46
Skyfire::Maps::MAP_SWITCH_LIST_REJECT_DUPLICATE
@ MAP_SWITCH_LIST_REJECT_DUPLICATE
Definition
MapLifecycle.h:47
Skyfire::Maps::MAP_SWITCH_LIST_IGNORE_UNSUPPORTED_TYPE
@ MAP_SWITCH_LIST_IGNORE_UNSUPPORTED_TYPE
Definition
MapLifecycle.h:44
Skyfire::Maps::MapAddObjectAction
MapAddObjectAction
Definition
MapLifecycle.h:30
Skyfire::Maps::MAP_ADD_OBJECT_REJECT_INVALID_COORDS
@ MAP_ADD_OBJECT_REJECT_INVALID_COORDS
Definition
MapLifecycle.h:33
Skyfire::Maps::MAP_ADD_OBJECT_ADD_TO_GRID
@ MAP_ADD_OBJECT_ADD_TO_GRID
Definition
MapLifecycle.h:32
Skyfire::Maps::MAP_ADD_OBJECT_REFRESH_EXISTING
@ MAP_ADD_OBJECT_REFRESH_EXISTING
Definition
MapLifecycle.h:31
Skyfire::Maps::ConsumeMoveQueueEntry
bool ConsumeMoveQueueEntry(MapObjectCellMoveState &state)
Definition
MapLifecycle.cpp:33
Skyfire::Maps::MapMoveQueueAddAction
MapMoveQueueAddAction
Definition
MapLifecycle.h:16
Skyfire::Maps::MAP_MOVE_QUEUE_ADD_REFRESH
@ MAP_MOVE_QUEUE_ADD_REFRESH
Definition
MapLifecycle.h:18
Skyfire::Maps::MAP_MOVE_QUEUE_ADD_SKIPPED_LOCKED
@ MAP_MOVE_QUEUE_ADD_SKIPPED_LOCKED
Definition
MapLifecycle.h:19
Skyfire::Maps::MAP_MOVE_QUEUE_ADD_APPEND
@ MAP_MOVE_QUEUE_ADD_APPEND
Definition
MapLifecycle.h:17
Skyfire
Definition
AuthPatchTransfer.h:12
src
server
game
Maps
MapLifecycle.cpp
Generated on
for Project SkyFire Core by
1.17.0