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 TypeMethodDescriptionbooleanvoiddispose()Releases all resources of this object.voidshortgetDirtyTileGeneration(int x, int y) shortgetDirtyTileGeneration(Tile tile) voidgetEnemiesInCircle(float centerX, float centerY, float radiusInPixels, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) Note: enemy never null (if not modified during the loop)voidgetEnemiesInCircle(float centerX, float centerY, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInCircle(Vector2 pos, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInRect(float minX, float minY, float maxX, float maxY, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb) voidgetEnemiesInRect(float minX, float minY, float maxX, float maxY, 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) voidmarkTilesDirty(Tile tile, int range) voidПроизвести окончательную настройку системы.voidbooleanНужно ли учитывать время выполнения update() в DebugbooleanrayCastEnemies(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()Произвести начальную настройку системы.voidshowTileWarningParticle(int x, int y) voidshowTowerRangeHint(float x, float y, float minRadius, float maxRadius) voidspawnEnemy(Enemy enemy) Заспавнить врага на карте.voidvoidtraverseNeighbourTiles(int x, int y, ObjectFilter<Tile> cb) voidtraverseNeighbourTiles(Tile tile, ObjectFilter<Tile> cb) voidtraverseNeighbourTilesAndThis(int x, int y, ObjectFilter<Tile> cb) voidtraverseNeighbourTilesAndThis(Tile tile, ObjectFilter<Tile> cb) voidunregisterGate(Gate gate) voidunregisterTile(Tile tile) Напрямую вывести тайл из регистра.voidupdate(float deltaTime) voidbooleanupgradeCore(int coreX, int coreY, int col, int row) booleanupgradeCore(CoreTile coreTile, int col, int row) Установить улучшение ядраvoidupgradeCoreAction(int coreX, int coreY, int col, int row) voidupgradeCoreAction(CoreTile coreTile, 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
 - 
getMap
 - 
getTileAndNeighbours
Получить тайл и соседей (по углам тоже) - 
setMap
 - 
setMapSize
public void setMapSize(int width, int height)  - 
getDirtyTileGeneration
 - 
getDirtyTileGeneration
public short getDirtyTileGeneration(int x, int y)  - 
updateDirtyTiles
public void updateDirtyTiles() - 
markAllTilesDirty
public void markAllTilesDirty() - 
markTilesDirty
 - 
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
 - 
getEnemiesInRect
public void getEnemiesInRect(float minX, float minY, float maxX, float maxY, AABB.EntryFilter filter, AABB.EntryRetriever<Enemy.EnemyReference> cb)  - 
getEnemiesInRect
 - 
getEnemiesInCircle
public void getEnemiesInCircle(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)  - 
getEnemiesInCircle
public void getEnemiesInCircle(Vector2 pos, float radiusInPixels, AABB.EntryRetriever<Enemy.EnemyReference> cb)  - 
setup
public void setup()Description copied from class:GameSystemПроизвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
 setupin classGameSystem
 - 
postStateRestore
public void postStateRestore()- Overrides:
 postStateRestorein classGameSystem
 - 
postSetup
public void postSetup()Description copied from class:GameSystemПроизвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- 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
 - 
upgradeCoreAction
public void upgradeCoreAction(int coreX, int coreY, int col, int row)  - 
upgradeCore
public boolean upgradeCore(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:GameSystemНужно ли учитывать время выполнения update() в Debug- Overrides:
 profileUpdatein classGameSystem
 - 
getSystemName
- Specified by:
 getSystemNamein classGameSystem
 - 
setPathTracesDrawing
public void setPathTracesDrawing(boolean drawing) Используется в Lua - 
traverseNeighbourTiles
- Parameters:
 cb- should return false to stop the loop
 - 
traverseNeighbourTiles
 - 
traverseNeighbourTilesAndThis
- Parameters:
 cb- should return false to stop the loop
 - 
traverseNeighbourTilesAndThis
 - 
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
 
 -