Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Every calculation step should be considered as parallel. Therefore it is inacceptable to CHANGE anything global, like the map. However, you can REMOVE units by returning true at ShouldBeDeleted(), or CREATE units by returning a list of created units at Produces().

#ActionDescription
0Advanced Unit: AdvancedCalculations=trueFinds all units which needs special treatment, like players or shots.
1advancedUnit.HeartbeatBeginIndicates a new Heartbeat.
2advancedUnit.CalculatePhase1Calls the generic CalculatePhase1.
3Mobile Unit GravityCalculates and adapts gravity calculation.
4Mobile Unit MovementLimits movement speed and progresses in movement.
5advancedUnit various ColissionChecksColission Checks and call of .Collides for every unit.
6advancedUnit.ShouldBeDeleted → .BeforeDelete & .DeleteChecks, if the unit should be deleted, if yes: delete cycle.
7advancedUnit.ProducesChecks, if the unit produces other units.
8advancedUnit.
CalculatePhase1
CalculateGatheredResources → .GatheredResourcesInforms you about energy, radiation and also gathered resources.
9advancedUnit.CalculatePhase2Calls the generic CalculatePhase1.
9
10advancedUnit.HeartbeatDoneCompleted heartbeat calculation cycle.
10
11playerUnit.ScanExecutes scan results and merges unit see/no see informations.
11
12Merge, Update.Merges Units and send Status Updates.