The faction which performs this action
Should perform the given predictions for this action
When the predictions expire
Should check if the action is a duplicate
Checks if the execution would be possible
Checks if this action is a duplicate of the other
Deserializes the action, assumes validate() was true
Internal interface to deserialize additional data
Should generate an unique action id
Returns a loggable data object, since logging the whole action is a bad idea
Same as @see helperCheckIsStructureOfSameIdAndFaction but checks if its a blueprint as well
Same as @see helperCheckIsStructureOfSameIdAndFaction but checks if its a building as well
Checks if there is a structure (=blueprint or building) of the given id at the tile of our faction
Should return true if a given faction is affected from this action
Returns if this action belongs to the local client or was a remote action
Should return if its possible to perform this action.
The result, including a reason why its not possible
Performs the action. Must call canPerform before, otherwise undefined behaviour.
Serializes the action
Internal interface to serialize additional data
Tries to perform the action
Validates the serialized data of the action
true if the action was successfully validated
Validates the serialized data and deserializes it on success
the actions meta class
This is the base action class for all clients