Page tree
Skip to end of metadata
Go to start of metadata

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().

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.CalculateGatheredResources → .GatheredResourcesInforms you about energy, radiation and also gathered resources.
9advancedUnit.CalculatePhase2Calls the generic CalculatePhase1.
10advancedUnit.HeartbeatDoneCompleted heartbeat calculation cycle.
11playerUnit.ScanExecutes scan results and merges unit see/no see informations.
12Merge, Update.Merges Units and send Status Updates.
  • No labels