Alexander
Alexander
Something like that https://stackoverflow.com/questions/35985960/c-why-is-boosthash-combine-the-best-way-to-combine-hash-values will be fine. Now hashes are combined by some basic and probably not working correctly rules (like `h += hash(value) * id;`). It may be reasonable...
In `kv::Object` ``` virtual Mob* GetMobInterface() { return nullptr; } ``` In some mob class, for example `Human`: ``` class Human : public Movable, public Mob { ... IMPLEMENTS_INTERFACE(Mob); ......
It is possible to use `IdPtr` when it is not valid. It is possible to add some flag to `IdPtr` and check if conversion to `bool` or `IsValid` call were...
Now it is really ugly. Some library can be used, or maybe own implementation is needed.
Caused by #421 `GetUniqueId(base_id, number)` - return value should not be changed between calls for same pairs (base_id, number).
`ProcessMessage` functions tend to be really bloated (e.g. `Human` class). It would be convenient to somehow declare multiple message handlers and after install them. ``` InstallHandler(MessageType::ORDINARY, Input::MOVE_DOWN, [this]() { ApplyForce(DirToVDir[D_UP]);...
Traitor mode, access cards, shuttle, etc. Such list should be composed.