This repository was archived by the owner on Jul 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
PresentationGroupEntity
Syadeu edited this page Oct 21, 2021
·
10 revisions
Namespace: Syadeu.Presentation
File: PresentationGroupEntity.cs
public abstract class PresentationGroupEntity : IPresentationRegisterPresentationManager 에게 시스템을 등록하기 위한 Register class입니다. 이 abstract 를 참조한 class 는 그룹 (PresentationSystemGroup<T>) 이 됩니다.
Inheritance: System.Object -> PresentationGroupEntity
Derived: DefaultPresentationGroup
Implements: IPresentationRegister
- Register() 메소드를
override하여 RegisterSystem(System.Type[]) 메소드를 통해 시스템을 이 그룹class으로 묶을 수 있습니다. - 등록할 시스템 객체는 반드시 PresentationSystemEntity<T> 를 참조하여야 합니다.
- 게임이 실행된 이후, 이 객체의 인스턴스를 PresentationSystemGroup<T> 를 통해 받아올 수 있습니다.
PresentationGroupEntity 를 상속받은 Presentation 시스템 그룹은 별다른 등록을 하지 않아도 자동으로 PresentationManager 에게 수집되어 등록됩니다. 이 시스템 그룹을 자동으로 시작하게 하려면 StartOnInitialize 를 true 로 설정하거나 DependenceScene 을 설정합니다.
사용자가 수동으로 시스템 그룹을 시작하려면 PresentationSystemGroup<T>.Start() 를 참조하세요.
// 그룹에 등록할 시스템을 먼저 선언합니다.
public sealed class TestSystem : PresentationSystemEntity<TestSystem>
{
/*
Some data works..
*/
}
// 그룹을 선언합니다.
// 선언된 그룹은 자동으로 PresenationManager 에 의해 타입이 등록되므로,
// 사용자가 추가적인 작업을 할 필요가 없습니다.
// 이후 이 그룹에 대한 작업을 하려면 PresentationSystemGroup<TestSystemGroup> 으로 참조할 수 있습니다.
public sealed class TestSystemGroup : PresentationGroupEntity
{
public override void Register()
{
// typeof() 는 매 호출시마다 해당 타입의 정보를
// 다시 읽어오므로, TypeHelper 를 통해 미리 메모리에 저장된
// 목표 타입의 정보를 읽어옵니다.
RegisterSystem(TypeHelper.TypeOf<TestSystem>.Type);
}
}| Name | Description |
|---|---|
| StartOnInitialize | 게임이 실행될 때 즉시 실행할 여부를 설정할 수 있습니다. |
| DependenceScene |
null 이 아닐 경우, 설정된 씬이 Load되거나 Unload 될 때 이 시스템 그룹도 실행되거나 종료됩니다. |
| Name | Description |
|---|---|
| Register() | 시스템들을 이 시스템 그룹으로 묶기 위해서 존재하는 메소드입니다. 이 메소드 안에서 RegisterSystem(param System.Type[]) 을 호출하여 시스템을 등록 할 수 있습니다. |
| Name | Description |
|---|---|
| RegisterSystem(param System.Type[]) | 시스템을 이 시스템 그룹에 묶습니다. 묶이지 않은 시스템은 런타임에서 동작하지 않습니다. 이 메소드는 반드시 Register() 메소드에서만 호출되어야 합니다. |
- Interfaces
- Enums
- SystemFlag
- CoreSystemExceptionFlag
- UserTagFlag
- CustomTagFlag
- ObValueDetection
- ConsoleFlag
- CommandSetting
- Attributes
- Abstract Classes
- Classes
- CoreSystem
- CoreSystemSettings
- PrefabManager
- PrefabList
- RenderManager
- RenderController
-
ConsoleWindow
- CommandDefinition
- CommandField
- CommandRequires
- FMODSystem
- UserTagNameModule
- CustomTagNameModule
- Timer
- BackgroundJob
- ForegroundJob
- WaitForBackgroundJob
- WaitForBackgroundJobWorker
- WaitForForegroundJob
- WaitForTimer
- BackgroundJobWorker
- ObArray
- ObClass
- ObDictionary
- ObList
- ObQueue
- ObValue
- ExtensionMethods
- ThreadSafe
- Structs
- CoreRoutine
- SQLiteDatabase
- SQLiteTable
- SQLiteColumn
- SQLiteVersionInfoTableData
- Bound
- Pole
- Vector2
- Vector3
- Exceptions
- Syadeu.Presentation
- PresentationManager
- SceneList
- EntityDataList
- CustomLoadingScene
- DefaultPresentationGroup
- PresentationGroupEntity
- IPresentationSystemGroup
- PresentationSystemGroup<T>
- PresentationSystem<T>
- PresentationSystem<TGroup, TSystem>
- PresentationSystemEntity<T>
- PresentationSystemModule<TSystem>
- PresentationSystemID
- INotifySystemModule<TModule>
- IExecutable<T>
- PresentationLoop
- PresentationResult
- IReference
- Reference
- SubSystemAttribute
- LoadingSceneSetupEntity
- SceneReference
- SceneSystem
- EntitySystem
- EntityBoundSystem
- EntityRaycastSystem
- EntityExtensionMethods
- AttributeAcceptOnlyAttribute
- EntityAcceptOnlyAttribute
- CoroutineSystem
- CoroutineJob
- ICoroutineJob
- UpdateLoop
- RaycastInfo
- ObjectBase
- ProcessorBase
- WaitForPresentationSystem<T>
- WaitForProxy<T>
- Syadeu.Collections
- AABB
- Plane
- PropertyBlockBase
- PropertyBlock<T>
- ActionWrapper
- BinaryGrid
- CLRContainer
- CLRSingleTone
- CLSTypedDictionary<TValue>
- CLSTypedDictionary<TKey, TValue>
- Direction
- EntityID
- EntityShortID
- IEntityDataID
- IInstance
- IInstance<T>
- Instance
- Instance<T>
- InstanceID
- FixedInstanceList16<T>
- FixedInstanceList64<T>
- IFixedReference
- IFixedReference<T>
- FixedReference
- FixedReference<T>
- FixedReferenceList16<T>
- FixedReferenceList64<T>
- IFixedReferenceList<T>
- FixedListExtensionMethods
- IEntity
- IEntityData
- IAttribute
- IObject
- IEntityComponent
- IPrefabReference
- IPrefabResource
- IEmpty
- IValidation
- FNV1a32
- FNV1a64
- Hash
- Syadeu.Collections.Converters
- Syadeu.Collections.Proxy
- Syadeu.Presentation.Proxy
- Syadeu.Presentation.Internal
- Syadeu.Presentation.Entities
- Syadeu.Presentation.Attributes
- Syadeu.Presentation.Components
- Syadeu.Presentation.Actions
- Syadeu.Presentation.Render
- CameraData
- CameraFrustum
- IntersectionType
- RenderSystem
- WorldCanvasSystem
- Syadeu.Presentation.Data
- DataContainerSystem
- DataObjectBase
- EntityAnimationClipEventData