Starsector API
Loading...
Searching...
No Matches
ShipSystemAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.combat;
2
3import org.lwjgl.util.vector.Vector2f;
4
5public interface ShipSystemAPI {
6
7 public static enum SystemState {
8 IDLE,
9 IN,
10 ACTIVE,
11 OUT,
12 COOLDOWN,
13 }
14
15 String getId();
16
18 boolean isOutOfAmmo();
22 boolean isActive();
23
24 boolean isCoolingDown();
25
26 int getAmmo();
27
30
32
36 boolean isOn();
37
38 boolean isChargeup();
39 boolean isChargedown();
40 boolean isStateActive();
41
43
44 void setAmmo(int ammo);
45
47 float getCooldown();
48 void setFluxPerUse(float fluxPerUse);
49 void setFluxPerSecond(float fluxPerSecond);
50
51 SystemState getState();
52
56
58
59 void deactivate();
60
61 void setCooldownRemaining(float remaining);
62 void setCooldown(float cooldown);
63
64 Vector2f getTargetLoc();
65
66 void forceState(SystemState state, float progress);
67
69
71 void setAmmoReloadProgress(float progress);
72
73 boolean canBeActivated();
74}
void forceState(SystemState state, float progress)
void setAmmoReloadProgress(float progress)
void setCooldownRemaining(float remaining)
void setFluxPerSecond(float fluxPerSecond)