26ed99fda6
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
31 lines
887 B
Go
31 lines
887 B
Go
package world
|
|
|
|
// VisibilityLevel controls whether a ViewLayer should use an entity's public visibility or force it
|
|
// visible or invisible for a viewer.
|
|
type VisibilityLevel struct {
|
|
visibility
|
|
}
|
|
|
|
// PublicVisibility is the default visibility level where the entity is (in)visible
|
|
// depending on how it already is publicly viewed.
|
|
func PublicVisibility() VisibilityLevel {
|
|
return VisibilityLevel{0}
|
|
}
|
|
|
|
// EnforceInvisible is the visibility level where the entity is always invisible to the viewer.
|
|
func EnforceInvisible() VisibilityLevel {
|
|
return VisibilityLevel{1}
|
|
}
|
|
|
|
// EnforceVisible is the visibility level where the entity is always visible to the viewer.
|
|
func EnforceVisible() VisibilityLevel {
|
|
return VisibilityLevel{2}
|
|
}
|
|
|
|
type visibility uint8
|
|
|
|
// EnforceVisibility returns whether metadata should be changed.
|
|
func (v visibility) EnforceVisibility() bool {
|
|
return v > 0
|
|
}
|