Package com.prineside.tdi2.systems
Class MapSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.MapSystem
- All Implemented Interfaces:
Disposable,KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final class -
Field Summary
FieldsFields inherited from class com.prineside.tdi2.Registrable
S -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanAABB may be not present if no updates happened yet.booleanvoiddispose()Releases all resources of this object.voidshortgetDirtyTileGeneration(Tile tile) shortgetDirtyTileGenerationAt(int x, int y) voidgetEnemiesInCircle(float centerX, float centerY, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInCircleFiltered(float centerX, float centerY, float radiusInPixels, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) Note: enemy never null (if not modified during the loop)voidgetEnemiesInCircleV(Vector2 pos, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInRect(float minX, float minY, float maxX, float maxY, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInRectFiltered(float minX, float minY, float maxX, float maxY, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetMap()intvoidgetTileAndNeighbours(int x, int y, Array<Tile> out) Получить тайл и соседей (по углам тоже)voidvoidhighlightGate(Gate gate) voidhighlightTile(Tile tile) booleanisPointWithinTile(Tile tile, int x, int y) booleanbooleanisVisible(Tile tile, OrthographicCamera camera) booleanlineCanHitEntry(float x1, float y1, float x2, float y2) voidvoidmarkTilesDirty(int x, int y, int range) voidmarkTilesDirtyNearTile(Tile tile, int range) voidPerforms the final configuration of the system.voidbooleanShould the update() method be rendered on the debug overlaybooleanrayCastEnemies(float startX, float startY, float endX, float endY, float rayThickness, ObjectFilter<Enemy.EnemyReference> cb) booleanrayCastEnemiesSorted(float startX, float startY, float endX, float endY, float rayThickness, ObjectFilter<Enemy.EnemyReference> cb) voidvoidregisterGate(Gate gate) voidregisterTile(Tile tile) Напрямую внести тайл в регистр системы.voidremoveBuilding(Building building) voidvoidremoveMiner(Miner miner) voidИзменить гейт во время игрыvoidvoidsetMapSize(int width, int height) voidvoidsetModifier(int x, int y, Modifier modifier) voidsetPathTracesDrawing(boolean drawing) Используется в LuavoidИзменить тайл во время игры TODO trigger an event instead and move all tower/miner/tile related logic therevoidvoidsetup()Performs the initial configuration of the system.voidshowTileWarningParticle(int x, int y) voidshowTowerRangeHint(float x, float y, float minRadius, float maxRadius) voidspawnEnemy(Enemy enemy) Заспавнить врага на карте.voidvoidtraverseNeighborTilesAroundPos(int x, int y, ObjectFilter<Tile> cb) voidtraverseNeighborTilesAroundTile(Tile tile, ObjectFilter<Tile> cb) voidtraverseNeighborTilesIncludingPos(int x, int y, ObjectFilter<Tile> cb) voidtraverseNeighborTilesIncludingTile(Tile tile, ObjectFilter<Tile> cb) voidunregisterGate(Gate gate) voidunregisterTile(Tile tile) Напрямую вывести тайл из регистра.voidupdate(float deltaTime) voidbooleanupgradeCore(CoreTile coreTile, int col, int row) Установить улучшение ядраvoidupgradeCoreAction(CoreTile coreTile, int col, int row) voidupgradeCoreActionAt(int coreX, int coreY, int col, int row) booleanupgradeCoreAt(int coreX, int coreY, int col, int row) voidMethods inherited from class com.prineside.tdi2.GameSystem
getFastStateHashMethods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered
-
Field Details
-
TOWER_RANGE_SELECTED_COLOR
-
TOWER_RANGE_HOVER_COLOR
-
drawPathTraces
public boolean drawPathTraces -
spawnedEnemies
-
spawnedUnits
-
-
Constructor Details
-
MapSystem
public MapSystem()
-
-
Method Details
-
write
- Specified by:
writein interfaceKryoSerializable- Overrides:
writein classRegistrable
-
read
- Specified by:
readin interfaceKryoSerializable- Overrides:
readin classRegistrable
-
affectsGameState
public boolean affectsGameState()- Specified by:
affectsGameStatein classGameSystem
-
aabbGenerated
public boolean aabbGenerated()AABB may be not present if no updates happened yet. Usually used by the UI code which may be executed after the game is continued but no frames were simulated since.- Returns:
- true if AABB is generated and can be accessed
-
getMap
-
getTileAndNeighbours
Получить тайл и соседей (по углам тоже) -
setMap
-
setMapSize
public void setMapSize(int width, int height) -
getDirtyTileGeneration
-
getDirtyTileGenerationAt
public short getDirtyTileGenerationAt(int x, int y) -
updateDirtyTiles
public void updateDirtyTiles() -
markAllTilesDirty
public void markAllTilesDirty() -
markTilesDirtyNearTile
-
markTilesDirty
public void markTilesDirty(int x, int y, int range) - Parameters:
range- >= 0. If 0, a single tile will be marked dirty
-
getEnemiesInRect
public void getEnemiesInRect(float minX, float minY, float maxX, float maxY, AABB.EntryRetriever<Enemy.EnemyReference> cb) - Parameters:
cb- returns true to continue iteration and false to stop it
-
getEnemiesInRectFiltered
public void getEnemiesInRectFiltered(float minX, float minY, float maxX, float maxY, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) -
getEnemiesInRectV
-
getEnemiesInCircleFiltered
public void getEnemiesInCircleFiltered(float centerX, float centerY, float radiusInPixels, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) Note: enemy never null (if not modified during the loop) -
getEnemiesInCircle
public void getEnemiesInCircle(float centerX, float centerY, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) -
getEnemiesInCircleV
public void getEnemiesInCircleV(Vector2 pos, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) -
setup
public void setup()Description copied from class:GameSystemPerforms the initial configuration of the system. At the moment of call, systemProvider already contains all objects of systems.- Overrides:
setupin classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestorein classGameSystem
-
postSetup
public void postSetup()Description copied from class:GameSystemPerforms the final configuration of the system. At the moment of call, all systems are already loaded and setup(), all listeners are already added.- Overrides:
postSetupin classGameSystem
-
showTileWarningParticle
public void showTileWarningParticle(int x, int y) -
removeHighlights
public void removeHighlights() -
highlightTile
-
highlightGate
-
isPointWithinTile
-
isVisible
-
setGate
Изменить гейт во время игры -
setTile
Изменить тайл во время игры TODO trigger an event instead and move all tower/miner/tile related logic there -
registerTile
Напрямую внести тайл в регистр системы. Вызывать при добавлении тайла на карту -
unregisterTile
Напрямую вывести тайл из регистра. Вызывать при удалении тайла из карты -
registerGate
-
unregisterGate
-
setTower
-
setModifier
-
removeBuilding
-
setMiner
-
removeMiner
-
isSpawned
-
spawnEnemy
Заспавнить врага на карте. Враг будет просто учитываться системой, но не получит сразу путь и позицию на карте - использовать эти данные можно только если enemy.setUpByEnemySystem -
spawnUnit
-
lineCanHitEntry
public boolean lineCanHitEntry(float x1, float y1, float x2, float y2) -
rayCastEnemiesSorted
public boolean rayCastEnemiesSorted(float startX, float startY, float endX, float endY, float rayThickness, ObjectFilter<Enemy.EnemyReference> cb) -
rayCastEnemies
public boolean rayCastEnemies(float startX, float startY, float endX, float endY, float rayThickness, ObjectFilter<Enemy.EnemyReference> cb) -
getSpawnedEnemiesCountByWave
-
showTowerRangeHint
public void showTowerRangeHint(float x, float y, float minRadius, float maxRadius) -
hideTowerRangeHint
public void hideTowerRangeHint() -
upgradeCoreAction
-
upgradeCoreActionAt
public void upgradeCoreActionAt(int coreX, int coreY, int col, int row) -
upgradeCoreAt
public boolean upgradeCoreAt(int coreX, int coreY, int col, int row) -
upgradeCore
Установить улучшение ядра -
update
public void update(float deltaTime) - Overrides:
updatein classGameSystem
-
profileUpdate
public boolean profileUpdate()Description copied from class:GameSystemShould the update() method be rendered on the debug overlay- Overrides:
profileUpdatein classGameSystem
-
getSystemName
- Specified by:
getSystemNamein classGameSystem
-
setPathTracesDrawing
public void setPathTracesDrawing(boolean drawing) Используется в Lua -
traverseNeighborTilesAroundPos
- Parameters:
cb- should return false to stop the loop
-
traverseNeighborTilesAroundTile
-
traverseNeighborTilesIncludingPos
- Parameters:
cb- should return false to stop the loop
-
traverseNeighborTilesIncludingTile
-
drawBatch
-
dispose
public void dispose()Description copied from interface:com.badlogic.gdx.utils.DisposableReleases all resources of this object.- Specified by:
disposein interfaceDisposable- Overrides:
disposein classGameSystem
-