Package com.prineside.tdi2.systems
Class PathfindingSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.PathfindingSystem
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable,com.esotericsoftware.kryo.KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classstatic final classstatic final classstatic final class -
Field Summary
FieldsFields inherited from class com.prineside.tdi2.Registrable
S -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanМожно временно изменить тайл и вызвать этот метод, чтобы проверить, можно ли так делать.voiddrawDebug(com.badlogic.gdx.graphics.g2d.Batch batch) Can be called concurrently but do not mix with pathfinding-modifying operationsvoidgetDefaultPath(EnemyType enemyType, SpawnTile spawnTile) Возвращает стандартный кэшированный путь для этого типа врага.getDefaultPathWithoutStateChanges(EnemyType enemyType, SpawnTile spawnTile) com.badlogic.gdx.utils.Array<Map.EnemyTypeSpawnPair>booleanvoidПроизвести окончательную настройку системы.voidvoidread(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) voidОбновляет массивы соединений и присваивает им индексыvoidvoidsetup()Произвести начальную настройку системы.voidupdate(float deltaTime) voidwrite(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) Methods inherited from class com.prineside.tdi2.GameSystem
dispose, getFastStateHash, profileUpdateMethods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered
-
Field Details
-
throwExceptionOnMissingPath
public boolean throwExceptionOnMissingPath -
pathfindingNodes
-
-
Constructor Details
-
PathfindingSystem
public PathfindingSystem()
-
-
Method Details
-
write
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) - Specified by:
writein interfacecom.esotericsoftware.kryo.KryoSerializable- Overrides:
writein classRegistrable
-
read
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) - Specified by:
readin interfacecom.esotericsoftware.kryo.KryoSerializable- Overrides:
readin classRegistrable
-
setup
public void setup()Description copied from class:GameSystemПроизвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
setupin classGameSystem
-
postSetup
public void postSetup()Description copied from class:GameSystemПроизвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetupin classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestorein classGameSystem
-
isWalkablePlatforms
public boolean isWalkablePlatforms() -
canAllEnemiesFindPath
public boolean canAllEnemiesFindPath()Можно временно изменить тайл и вызвать этот метод, чтобы проверить, можно ли так делать.- Returns:
- true если от каждого спавна к базе есть путь для каждого типа врага, который там спавнится
-
forcePathfindingRebuild
public void forcePathfindingRebuild() -
findPath
-
findPath
Can be called concurrently but do not mix with pathfinding-modifying operations -
findPath
-
getDefaultPathWithoutStateChanges
-
rebuildPathfindingIfNeeded
public void rebuildPathfindingIfNeeded() -
rebuildPathfinding
public void rebuildPathfinding()Обновляет массивы соединений и присваивает им индексы -
getEnemyTypesThatCantFindPath
-
getDefaultPath
Возвращает стандартный кэшированный путь для этого типа врага. Если throwExceptionOnMissingPath == false, вернет null при отсутствующем пути -
update
public void update(float deltaTime) - Overrides:
updatein classGameSystem
-
drawDebug
public void drawDebug(com.badlogic.gdx.graphics.g2d.Batch batch) -
affectsGameState
public boolean affectsGameState()- Specified by:
affectsGameStatein classGameSystem
-
getSystemName
- Specified by:
getSystemNamein classGameSystem
-