package editor_stage_manager
Functions
SnapVerticesFromMesh
Types
ConstraintChainAttachment
struct
type ConstraintChainAttachment struct {
Entity *StageEntity
Data *entity_data_binding.EntityDataEntry
}
ConstraintChainKind
const ( ConstraintChainDistance ConstraintChainKind = iota ConstraintChainRope ConstraintChainHinge )
EditorUserInterface
interface
SelectionMode
const ( SelectionModeReplace SelectionMode = iota SelectionModeAppend SelectionModeToggle )
StageAlreadyExistsError
struct
StageAlreadyExistsError.Error
StageEntity
struct
type StageEntity struct {
engine.Entity
StageData StageEntityEditorData
PickID uint32
// Has unexported fields.
}
EntityToStageEntity
StageEntity.AddDataBinding
StageEntity.AttachDataBinding
StageEntity.DataBindings
StageEntity.DataBindingsByKey
StageEntity.Depth
StageEntity.DetachDataBinding
StageEntity.IsDeleted
StageEntity.IsLocked
StageEntity.Lock
StageEntity.SetLocked
StageEntity.SetMaterial
StageEntity.Unlock
StageEntityEditorData
struct
type StageEntityEditorData struct {
Bvh *graviton.BVH
WorldBvh *graviton.BVH
Mesh *rendering.Mesh
SnapVertices []matrix.Vec3
ShaderData rendering.DrawInstance
PickingShaderData rendering.DrawInstance
Description stages.EntityDescription
PendingMaterialChange bool
}
StageEntityEditorData is the structure holding all the uniquely identifiable and linking data about the entity on this stage. That will include things like content linkage, data bindings, etc.
StageManager
struct
type StageManager struct {
OnEntitySpawn events.EventWithArg[*StageEntity]
OnEntityDestroy events.EventWithArg[*StageEntity]
OnEntitySelected events.EventWithArg[*StageEntity]
OnEntityDeselected events.EventWithArg[*StageEntity]
OnEntityChangedParent events.EventWithArg[*StageEntity]
OnEntityLockChanged events.EventWithArg[*StageEntity]
// Has unexported fields.
}
StageManager represents the current stage in the editor. It contains all of the entities on the stage.
StageManager.AddBVH
StageManager.AddEntity
AddEntity will generate a new entity for the stage with a new random Id. It will internally just call StageManager.AddEntityWithId.
StageManager.AddEntityWithId
AddEntityWithId will create an entity for the stage with a specified Id rather than generating one. This entity will have a StageEntityData automatically added to it as named data named "stage".
StageManager.AddPickingDrawing
StageManager.AssignPickID
StageManager.AttachEntityData
func (m *StageManager) AttachEntityData(e *StageEntity, g codegen.GeneratedType) *entity_data_binding.EntityDataEntry
StageManager.Clear
Clear will destroy all entities that are managed by this stage manager.
StageManager.ClearPickingDrawing
StageManager.ClearSelection
StageManager.ConnectSelectedAsConstraintChain
func (m *StageManager) ConnectSelectedAsConstraintChain(kind ConstraintChainKind) []ConstraintChainAttachment
StageManager.ConnectSelectedAsDistanceChain
StageManager.ConnectSelectedAsHingeChain
StageManager.ConnectSelectedAsRope
StageManager.CreateTemplateFromSelected
func (m *StageManager) CreateTemplateFromSelected(edEvts *editor_events.EditorEvents, proj *project.Project) error
StageManager.DeselectEntity
StageManager.DestroySelected
StageManager.DirtyPickableTransforms
StageManager.DuplicateSelected
StageManager.DuplicateSelectionInPlace
StageManager.Entities
StageManager.EntitiesByPickIDs
StageManager.EntityById
StageManager.EntityByPickID
StageManager.HasPickableEntities
StageManager.HasSelection
StageManager.HierarchyRespectiveSelection
StageManager.Initialize
func (m *StageManager) Initialize(host *engine.Host, history *memento.History, editorUI EditorUserInterface)
StageManager.IsNew
StageManager.IsSelected
StageManager.IsSelectedById
StageManager.LastSelected
StageManager.List
List will return all of the internally held entities for the stage
StageManager.LoadStage
func (m *StageManager) LoadStage(id string, host *engine.Host, cache *content_database.Cache, proj *project.Project) error
StageManager.NewPickingDrawing
func (m *StageManager) NewPickingDrawing(e *StageEntity, material *rendering.Material, mesh *rendering.Mesh, transform *matrix.Transform) (rendering.Drawing, rendering.DrawInstance, bool)
StageManager.NewStage
StageManager.RefitBVH
StageManager.RefitWorldBVH
StageManager.RemoveEntityBVH
StageManager.SaveStage
func (m *StageManager) SaveStage(cache *content_database.Cache, fs *project_file_system.FileSystem) error
StageManager.SelectAppendEntityById
StageManager.SelectEntities
StageManager.SelectEntity
StageManager.SelectEntityById
StageManager.SelectToggleEntityById
StageManager.SelectWithChildrenOrSingleEntityById
StageManager.SelectedHierarchyOrder
StageManager.Selection
StageManager.SelectionBounds
StageManager.SelectionCenter
StageManager.SelectionPivotCenter
StageManager.SetEntityLocked
StageManager.SetEntityParent
StageManager.SetStageId
StageManager.SpawnTemplate
func (m *StageManager) SpawnTemplate(host *engine.Host, proj *project.Project, cc *content_database.CachedContent, point matrix.Vec3) (*StageEntity, error)