88 lines
1.5 KiB
ActionScript 3
88 lines
1.5 KiB
ActionScript 3
enum EngagementRange {
|
|
ER_FlagshipMin,
|
|
ER_FlagshipMax,
|
|
ER_SupportMin,
|
|
ER_RaidingOnly,
|
|
};
|
|
|
|
enum EngagementBehaviour {
|
|
EB_CloseIn,
|
|
EB_KeepDistance,
|
|
};
|
|
|
|
enum AutoMode {
|
|
AM_HoldPosition,
|
|
AM_AreaBound,
|
|
AM_Unbound,
|
|
AM_RegionBound,
|
|
AM_HoldFire,
|
|
};
|
|
|
|
enum AutoState {
|
|
AS_None,
|
|
AS_Attacking,
|
|
AS_Returning,
|
|
};
|
|
|
|
final class GroupData : Serializable, Savable {
|
|
const Design@ dsg;
|
|
|
|
//Ships that are currently alive
|
|
uint amount = 0;
|
|
|
|
//Ships that have died in the past
|
|
uint ghost = 0;
|
|
|
|
//Ships that have been paid for but
|
|
//need to be constructed on nearby shipyards
|
|
uint ordered = 0;
|
|
|
|
//Amount of ships that have already been
|
|
//ordered and are awaiting completion
|
|
uint waiting = 0;
|
|
|
|
//Ships ordered in a particular budget cycle for refunding
|
|
int orderCycle = -1;
|
|
uint orderAmount = 0;
|
|
|
|
uint get_totalSize() {
|
|
return amount + ordered + ghost;
|
|
}
|
|
|
|
void read(Message& msg) {
|
|
msg >> dsg;
|
|
amount = msg.readSmall();
|
|
ghost = msg.readSmall();
|
|
ordered = msg.readSmall();
|
|
waiting = msg.readSmall();
|
|
}
|
|
|
|
void write(Message& msg) {
|
|
msg << dsg;
|
|
msg.writeSmall(amount);
|
|
msg.writeSmall(ghost);
|
|
msg.writeSmall(ordered);
|
|
msg.writeSmall(waiting);
|
|
}
|
|
|
|
void load(SaveFile& msg) {
|
|
msg >> dsg;
|
|
msg >> amount;
|
|
msg >> ghost;
|
|
msg >> ordered;
|
|
msg >> waiting;
|
|
msg >> orderCycle;
|
|
msg >> orderAmount;
|
|
}
|
|
|
|
void save(SaveFile& msg) {
|
|
msg << dsg;
|
|
msg << amount;
|
|
msg << ghost;
|
|
msg << ordered;
|
|
msg << waiting;
|
|
msg << orderCycle;
|
|
msg << orderAmount;
|
|
}
|
|
};
|