• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mlange-42 / arche / 7492859415

11 Jan 2024 06:16PM CUT coverage: 100.0%. Remained the same
7492859415

push

github

web-flow
Allow to save / load state in terms of assigned entities (#319)

Allows the world to serialize and deserialize the exact state of all entites (ids, generation, alive; but not components!)

This is required to make it possible to serialize (implicit or explicit) entity relations.

## Commits

* serialize/deserialize entities
* write more tests
* simplify entity serialization and de-serialization, get rid of JSON
* update changelog and readme
* panic when setting entity data on a non-fresh or locked world
* serialize entities to simple json arrays
* refine documentation

3918 of 3918 relevant lines covered (100.0%)

81315.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/ecs/config.go
1
package ecs
2

3
// Config provides configuration for an ECS [World].
4
type Config struct {
5
        // Capacity increment for archetypes and the entity index.
6
        // The default value is 128.
7
        CapacityIncrement int
8
        // Capacity increment for archetypes with a relation component.
9
        // The default value is CapacityIncrement.
10
        RelationCapacityIncrement int
11
}
12

13
// NewConfig creates a new default [World] configuration.
14
func NewConfig() Config {
123✔
15
        return Config{
123✔
16
                CapacityIncrement:         128,
123✔
17
                RelationCapacityIncrement: 0,
123✔
18
        }
123✔
19
}
123✔
20

21
// WithCapacityIncrement return a new Config with CapacityIncrement set.
22
// Use with method chaining.
23
func (c Config) WithCapacityIncrement(inc int) Config {
9✔
24
        c.CapacityIncrement = inc
9✔
25
        return c
9✔
26
}
9✔
27

28
// WithRelationCapacityIncrement return a new Config with RelationCapacityIncrement set.
29
// Use with method chaining.
30
func (c Config) WithRelationCapacityIncrement(inc int) Config {
5✔
31
        c.RelationCapacityIncrement = inc
5✔
32
        return c
5✔
33
}
5✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc