Documentation ¶
Index ¶
- Variables
- func AndFilter(fns ...filterFn) filterFn
- func ComponentFilter[T types.Component](f func(comp T) bool) filterFn
- func NewSearch() searchBuilder
- func OrFilter(fns ...filterFn) filterFn
- type AndSearch
- func (andSearch *AndSearch) Collect(eCtx engine.Context) ([]types.EntityID, error)
- func (andSearch *AndSearch) Count(eCtx engine.Context) (int, error)
- func (andSearch *AndSearch) Each(eCtx engine.Context, callback CallbackFn) error
- func (andSearch *AndSearch) First(eCtx engine.Context) (types.EntityID, error)
- func (andSearch *AndSearch) MustFirst(eCtx engine.Context) types.EntityID
- type CallbackFn
- type EntitySearch
- type NotSearch
- func (notSearch *NotSearch) Collect(eCtx engine.Context) ([]types.EntityID, error)
- func (notSearch *NotSearch) Count(eCtx engine.Context) (int, error)
- func (notSearch *NotSearch) Each(eCtx engine.Context, callback CallbackFn) error
- func (notSearch *NotSearch) First(eCtx engine.Context) (types.EntityID, error)
- func (notSearch *NotSearch) MustFirst(eCtx engine.Context) types.EntityID
- type OrSearch
- func (orSearch *OrSearch) Collect(eCtx engine.Context) ([]types.EntityID, error)
- func (orSearch *OrSearch) Count(eCtx engine.Context) (int, error)
- func (orSearch *OrSearch) Each(eCtx engine.Context, callback CallbackFn) error
- func (orSearch *OrSearch) First(eCtx engine.Context) (types.EntityID, error)
- func (orSearch *OrSearch) MustFirst(eCtx engine.Context) types.EntityID
- type Search
- func (s *Search) Collect(eCtx engine.Context) ([]types.EntityID, error)
- func (s *Search) Count(eCtx engine.Context) (ret int, err error)
- func (s *Search) Each(eCtx engine.Context, callback CallbackFn) (err error)
- func (s *Search) Entity(componentFilter filter.ComponentFilter) EntitySearch
- func (s *Search) First(eCtx engine.Context) (id types.EntityID, err error)
- func (s *Search) MustFirst(eCtx engine.Context) types.EntityID
- func (s *Search) Where(componentFilter filterFn) EntitySearch
- type Searchable
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func ComponentFilter ¶ added in v1.3.0
Types ¶
type AndSearch ¶ added in v1.3.0
type AndSearch struct {
// contains filtered or unexported fields
}
func (*AndSearch) Each ¶ added in v1.3.0
func (andSearch *AndSearch) Each(eCtx engine.Context, callback CallbackFn) error
type CallbackFn ¶
type EntitySearch ¶ added in v1.3.0
type EntitySearch interface { Searchable Where(componentFilter filterFn) EntitySearch }
func NewLegacySearch ¶ added in v1.3.0
func NewLegacySearch(componentFilter filter.ComponentFilter) EntitySearch
TODO: should deprecate this in the future.
type NotSearch ¶ added in v1.3.0
type NotSearch struct {
// contains filtered or unexported fields
}
func (*NotSearch) Each ¶ added in v1.3.0
func (notSearch *NotSearch) Each(eCtx engine.Context, callback CallbackFn) error
type OrSearch ¶ added in v1.3.0
type OrSearch struct {
// contains filtered or unexported fields
}
func (*OrSearch) Each ¶ added in v1.3.0
func (orSearch *OrSearch) Each(eCtx engine.Context, callback CallbackFn) error
type Search ¶
type Search struct {
// contains filtered or unexported fields
}
Search represents a search for entities. It is used to filter entities based on their components. It receives arbitrary filters that are used to filter entities. It contains a cache that is used to avoid re-evaluating the search. So it is not recommended to create a new search every time you want to filter entities with the same search.
func (*Search) Each ¶
func (s *Search) Each(eCtx engine.Context, callback CallbackFn) (err error)
Each iterates over all entities that match the search. If you would like to stop the iteration, return false to the callback. To continue iterating, return true.
func (*Search) Entity ¶ added in v1.3.0
func (s *Search) Entity(componentFilter filter.ComponentFilter) EntitySearch
func (*Search) Where ¶
func (s *Search) Where(componentFilter filterFn) EntitySearch
Once the where clause method is activated the search will ONLY return results if a where clause returns true and no error.
type Searchable ¶ added in v1.3.0
type Searchable interface { Each(eCtx engine.Context, callback CallbackFn) error First(eCtx engine.Context) (types.EntityID, error) MustFirst(eCtx engine.Context) types.EntityID Count(eCtx engine.Context) (int, error) Collect(eCtx engine.Context) ([]types.EntityID, error) // contains filtered or unexported methods }
func And ¶ added in v1.3.0
func And(searches ...Searchable) Searchable
func Not ¶ added in v1.3.0
func Not(search Searchable) Searchable
func Or ¶ added in v1.3.0
func Or(searches ...Searchable) Searchable
Source Files ¶
Click to show internal directories.
Click to hide internal directories.