diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-07-09 07:53:48 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2025-07-09 07:53:48 +0200 |
| commit | 057adf65468e7b6ec544686b80433093a9f9deab (patch) | |
| tree | 174ea7c587102120afa14b3530e199cf436d2c69 /order.go | |
| parent | 5af6361f22d727a4abacd724cf9152e67f73328a (diff) | |
Extract entity main action
Diffstat (limited to 'order.go')
| -rw-r--r-- | order.go | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,5 +1,7 @@ package main +import "age_of_empires/physics" + type Order interface { Update(e *Entity, g *Game) } @@ -10,3 +12,14 @@ func (e *Entity) UpdateOrder(g *Game) { } e.Order.Value.Update(e, g) } + +func (e *Entity) MainAction(g *Game, destination physics.Point, entityAtDestination *Entity, moveMap physics.MoveMap) { + if !e.Selection.IsEnabled || !e.Selection.Value.IsSelected { + return + } + if entityAtDestination != nil && entityAtDestination.ResourceSource.IsEnabled { + Gather(e, entityAtDestination, g) + return + } + physics.StartMove(&e.Move, e.Position, destination, moveMap) +} |
