Actions are the processes that will have an effect upon the game world. Effects are how those effects are represented and accomplished.
These should be pretty declarative and verbose, like EntityLosesHitPoints(id, hp) or EntityMovesToPosition(position). This will replace the current entity.move_to(x,y) thing that I have going. It's important that I have as many of the specifics in place as possible so that I don't have to do any searching or anything, since that tends to lead to suffering with the Rust borrow checker.
The second important aspect of this is that I want to set up observations in an Event system. Each event might itself lead to effects, and so forth.
Actions are the processes that will have an effect upon the game world. Effects are how those effects are represented and accomplished.
These should be pretty declarative and verbose, like
EntityLosesHitPoints(id, hp)
orEntityMovesToPosition(position)
. This will replace the currententity.move_to(x,y)
thing that I have going. It's important that I have as many of the specifics in place as possible so that I don't have to do any searching or anything, since that tends to lead to suffering with the Rust borrow checker.The second important aspect of this is that I want to set up observations in an Event system. Each event might itself lead to effects, and so forth.