Package com.prineside.tdi2.systems
Class TowerSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.TowerSystem
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,com.esotericsoftware.kryo.KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
static final class
static final class
static final class
static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean[][]
static final String
float[][]
com.badlogic.gdx.utils.DelayedRemovalArray<Tower>
Fields inherited from class com.prineside.tdi2.Registrable
S
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloat
addExperienceBuffed
(Tower tower, float exp) Добавить опыт + бонусыvoid
addExperienceRaw
(Tower tower, float exp) Дать опыт без учета бонусовfloat
addExperienceToMatchLevel
(Tower tower, int level) Добавить столько опыта, чтобы у башни был уровень минимум levelboolean
void
applyDrawInterpolation
(float interpolatedTime) buildTower
(TowerType towerType, Tower.AimStrategy aimStrategy, int x, int y) buildTower
(TowerType towerType, Tower.AimStrategy aimStrategy, int x, int y, boolean ignorePrice) Строит башню сразу.void
buildTowerAction
(TowerType towerType) void
buildTowerAction
(TowerType towerType, Tower.AimStrategy aimStrategy) void
buildTowerAction
(TowerType towerType, Tower.AimStrategy aimStrategy, int x, int y) boolean
void
customTowerButtonAction
(int x, int y, int mapX, int mapY) void
customTowerButtonAction
(Tower tower, int mapX, int mapY) void
dispose()
Releases all resources of this object.void
drawBatchAdditive
(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) void
drawRanges
(com.badlogic.gdx.graphics.g2d.Batch batch) void
drawWeapons
(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) int
getBaseUpgradePrice
(Tower tower, int toLevel) int
getGlobalUpgradePrice
(TowerType towerType) float
getMaxPossibleStat
(TowerStatType statType) int
getUpgradePrice
(Tower tower) void
boolean
isRegistered
(Tower tower) void
notifyTowerExperienceChanged
(Tower tower, float delta) void
notifyTowerLeveledUp
(Tower tower) void
Произвести окончательную настройку системы.void
void
read
(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) float
removeExperienceRaw
(Tower tower, float exp) void
selectGlobalTowerAbilityAction
(int x, int y, int abilityIdx) void
selectGlobalTowerAbilityAction
(Tower tower, int abilityIdx) void
selectTowerAbilityAction
(int x, int y, int abilityIdx) void
selectTowerAbilityAction
(Tower tower, int abilityIdx) boolean
void
sellTowerAction
(Tower tower) void
setAbilityInstalled
(Tower tower, int abilityIdx, boolean installed) void
setDefaultAimStrategy
(Tower.AimStrategy strategy) void
setTowerAimStrategy
(Tower tower, Tower.AimStrategy toStrategy) void
setTowerAimStrategyAction
(Tower tower, Tower.AimStrategy toStrategy) void
setup()
Произвести начальную настройку системы.void
void
traverseTilesInRange
(Tower tower, ObjectFilter<Tile> cb) void
update
(float deltaTime) void
updateLevelExperience
(Tower tower) void
boolean
upgradeTower
(Tower tower) Мгновенно улучшить башню, если это возможно.void
upgradeTowerAction
(int x, int y) void
upgradeTowerAction
(Tower tower) void
write
(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) Methods inherited from class com.prineside.tdi2.GameSystem
getFastStateHash, profileUpdate
Methods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered
-
Field Details
-
TOWER_OUT_OF_ORDER_REASON_MANUAL
- See Also:
-
canTowerAttackEnemy
public boolean[][] canTowerAttackEnemy -
towerEnemyDamageMultiplier
public float[][] towerEnemyDamageMultiplier -
towers
-
-
Constructor Details
-
TowerSystem
public TowerSystem()
-
-
Method Details
-
write
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) - Specified by:
write
in interfacecom.esotericsoftware.kryo.KryoSerializable
- Overrides:
write
in classRegistrable
-
read
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) - Specified by:
read
in interfacecom.esotericsoftware.kryo.KryoSerializable
- Overrides:
read
in classRegistrable
-
affectsGameState
public boolean affectsGameState()- Specified by:
affectsGameState
in classGameSystem
-
setup
public void setup()Description copied from class:GameSystem
Произвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
setup
in classGameSystem
-
postSetup
public void postSetup()Description copied from class:GameSystem
Произвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetup
in classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestore
in classGameSystem
-
isRegistered
-
getMaxPossibleStat
-
getDefaultAimStrategy
-
setDefaultAimStrategy
-
selectTowerAbilityAction
-
selectGlobalTowerAbilityAction
-
customTowerButtonAction
-
customTowerButtonAction
public void customTowerButtonAction(int x, int y, int mapX, int mapY) -
selectTowerAbilityAction
public void selectTowerAbilityAction(int x, int y, int abilityIdx) -
selectGlobalTowerAbilityAction
public void selectGlobalTowerAbilityAction(int x, int y, int abilityIdx) -
setAbilityInstalled
-
buildTowerAction
-
canTowersBeManuallyDisabled
public boolean canTowersBeManuallyDisabled() -
toggleTowerEnabledAction
public void toggleTowerEnabledAction() -
buildTowerAction
-
buildTowerAction
-
buildTower
-
buildTower
public Tower buildTower(TowerType towerType, Tower.AimStrategy aimStrategy, int x, int y, boolean ignorePrice) Строит башню сразу. Чтобы не угробить синхронизацию, этот метод не должен вызываться от времени / действий игрока. -
upgradeTowerAction
-
upgradeTowerAction
public void upgradeTowerAction(int x, int y) -
globalUpgradeTowerAction
-
upgradeTower
Мгновенно улучшить башню, если это возможно. Будут отняты монеты. -
sellTowerAction
-
sellTower
-
setTowerAimStrategyAction
-
setTowerAimStrategy
-
getUpgradePrice
-
getBaseUpgradePrice
-
getGlobalUpgradePrice
-
update
public void update(float deltaTime) - Overrides:
update
in classGameSystem
-
updateLevelExperienceOfEveryTower
public void updateLevelExperienceOfEveryTower() -
getSystemName
- Specified by:
getSystemName
in classGameSystem
-
drawBatchAdditive
public void drawBatchAdditive(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) -
drawRanges
public void drawRanges(com.badlogic.gdx.graphics.g2d.Batch batch) -
applyDrawInterpolation
public void applyDrawInterpolation(float interpolatedTime) -
drawWeapons
public void drawWeapons(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) -
addExperienceRaw
Дать опыт без учета бонусов -
addExperienceBuffed
Добавить опыт + бонусы- Parameters:
exp
- опыт без бонусов
-
removeExperienceRaw
- Returns:
- количество опыта, которое было отнято (будет меньше exp, если уменьшение опыта приведет к уменьшению уровня)
-
addExperienceToMatchLevel
Добавить столько опыта, чтобы у башни был уровень минимум level- Parameters:
tower
- башня, которой нужно добавить опытlevel
- уровень- Returns:
- кол-во добавленного опыта
-
notifyTowerExperienceChanged
-
updateLevelExperience
-
notifyTowerLeveledUp
-
traverseTilesInRange
-
dispose
public void dispose()Description copied from interface:com.badlogic.gdx.utils.Disposable
Releases all resources of this object.- Specified by:
dispose
in interfacecom.badlogic.gdx.utils.Disposable
- Overrides:
dispose
in classGameSystem
-