package editor_stage_manager
import "kaiju/editor/editor_stage_manager"
Constants
Types
StageAlreadyExistsError
struct
type StageAlreadyExistsError struct {
Id string
}
StageAlreadyExistsError.Error
func (e StageAlreadyExistsError) Error() string
StageEntity
struct
type StageEntity struct {
engine.Entity
StageData StageEntityEditorData
// Has unexported fields.
}
EntityToStageEntity
func EntityToStageEntity(e *engine.Entity) *StageEntity
StageEntity.AddDataBinding
func (e *StageEntity) AddDataBinding(binding *entity_data_binding.EntityDataEntry)
StageEntity.DataBindings
func (e *StageEntity) DataBindings() []*entity_data_binding.EntityDataEntry
StageEntity.Depth
func (e *StageEntity) Depth() int
StageEntity.SetMaterial
func (e *StageEntity) SetMaterial(mat *rendering.Material, manager *StageManager)
StageEntityEditorData
struct
type StageEntityEditorData struct {
Bvh *collision.BVH
Mesh *rendering.Mesh
ShaderData rendering.DrawInstance
Description stages.EntityDescription
}
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]
// Has unexported fields.
}
StageManager represents the current stage in the editor. It contains all of
the entities on the stage.
StageManager.AddBVH
func (m *StageManager) AddBVH(bvh *collision.BVH, transform *matrix.Transform)
StageManager.AddEntity
func (m *StageManager) AddEntity(name string, point matrix.Vec3) *StageEntity
AddEntity will generate a new entity for the stage with a new random Id.
It will internally just call AddEntityWithId
StageManager.AddEntityWithId
func (m *StageManager) AddEntityWithId(id, name string, point matrix.Vec3) *StageEntity
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.Clear
func (m *StageManager) Clear()
Clear will destroy all entities that are managed by this stage manager.
StageManager.ClearSelection
func (m *StageManager) ClearSelection()
StageManager.DeselectEntity
func (m *StageManager) DeselectEntity(e *StageEntity)
StageManager.DestroySelected
func (m *StageManager) DestroySelected()
StageManager.EntityById
func (m *StageManager) EntityById(id string) (*StageEntity, bool)
StageManager.HasSelection
func (m *StageManager) HasSelection() bool
StageManager.HierarchyRespectiveSelection
func (m *StageManager) HierarchyRespectiveSelection() []*StageEntity
StageManager.Initialize
func (m *StageManager) Initialize(host *engine.Host, history *memento.History)
StageManager.IsNew
func (m *StageManager) IsNew() bool
StageManager.IsSelected
func (m *StageManager) IsSelected(e *StageEntity) bool
StageManager.IsSelectedById
func (m *StageManager) IsSelectedById(id string) bool
StageManager.List
func (m *StageManager) List() []*StageEntity
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.NewStage
func (m *StageManager) NewStage()
StageManager.RemoveBVH
func (m *StageManager) RemoveBVH(bvh *collision.BVH)
StageManager.SaveStage
func (m *StageManager) SaveStage(cache *content_database.Cache, fs *project_file_system.FileSystem) error
StageManager.SelectAppendEntityById
func (m *StageManager) SelectAppendEntityById(id string)
StageManager.SelectEntity
func (m *StageManager) SelectEntity(e *StageEntity)
StageManager.SelectEntityById
func (m *StageManager) SelectEntityById(id string)
StageManager.SelectToggleEntityById
func (m *StageManager) SelectToggleEntityById(id string)
StageManager.Selection
func (m *StageManager) Selection() []*StageEntity
StageManager.SelectionBounds
func (m *StageManager) SelectionBounds() collision.AABB
StageManager.SelectionCenter
func (m *StageManager) SelectionCenter() matrix.Vec3
StageManager.SelectionPivotCenter
func (m *StageManager) SelectionPivotCenter() matrix.Vec3
StageManager.SetEntityParent
func (m *StageManager) SetEntityParent(child, parent *StageEntity)
StageManager.SetStageId
func (m *StageManager) SetStageId(id string, cache *content_database.Cache) error
StageManager.StageId
func (m *StageManager) StageId() string
StageManager.TryAppendSelect
func (m *StageManager) TryAppendSelect(ray collision.Ray) (*StageEntity, bool)
StageManager.TryHitEntity
func (m *StageManager) TryHitEntity(ray collision.Ray) (*StageEntity, bool)
StageManager.TrySelect
func (m *StageManager) TrySelect(ray collision.Ray) (*StageEntity, bool)
StageManager.TryToggleSelect
func (m *StageManager) TryToggleSelect(ray collision.Ray) (*StageEntity, bool)