package stages
Constants
Functions
RegenerateEntityIds
RegenerateEntityIds replaces every non-empty entity id in desc and its children, returning the old-to-new id map for the duplicated subtree.
RegenerateEntityIdsAndRewriteReferences
func RegenerateEntityIdsAndRewriteReferences(desc *EntityDescription) map[engine.EntityId]engine.EntityId
RegenerateEntityIdsAndRewriteReferences regenerates subtree ids and rewrites EntityId fields that point at entities inside the same duplicated subtree.
RewriteEntityIdReferences
RewriteEntityIdReferences rewrites EntityId values in entity data bindings when their target appears in idMap. References outside idMap are left intact.
SetupEntityFromDescription
func SetupEntityFromDescription(e *engine.Entity, host *engine.Host, se *EntityDescription) (*engine.Entity, error)
Types
EntityDataBinding
struct
EntityDescription
struct
type EntityDescription struct {
Id string
TemplateId string
Name string
Mesh string
Material string
Textures []string
Position matrix.Vec3
Rotation matrix.Vec3
Scale matrix.Vec3
DataBinding []EntityDataBinding
Children []EntityDescription
ShaderData []EntityDescriptionShaderDataField
RawDataBinding []any
}
EntityDescriptionArchiveDeserializer
EntityDescriptionJson
struct
type EntityDescriptionJson struct {
Id string
TemplateId string
Name string
Mesh int
Material int `json:"Mat"`
Textures []int `json:"Tex,omitempty"`
Position matrix.Vec3 `json:"P"`
Rotation matrix.Vec3 `json:"R"`
Scale matrix.Vec3 `json:"S"`
DataBinding []EntityDataBinding `json:"Data,omitempty"`
Children []EntityDescriptionJson `json:"Kids,omitempty"`
ShaderData map[string]EntityDescriptionShaderDataField
}
EntityDescriptionShaderDataField
struct
LoadResult
struct
type LoadResult struct {
Roots []*engine.Entity
Entities []*engine.Entity
EntitiesById map[engine.EntityId]*engine.Entity
}
Stage
struct
ArchiveDeserializer
Deserialize
Stage.FromMinimized
Stage.Load
Stage.ToMinimized
StageJson
struct