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
ProxyTransform
Syadeu edited this page Oct 22, 2021
·
13 revisions
Namespace: Syadeu.Presentation.Proxy
File: ProxyTransform.cs
[StructLayout(LayoutKind.Sequential)]
public readonly struct ProxyTransform : IProxyTransform, IEquatable<ProxyTransform>Entity<T> 의 Transformation 데이터입니다.
Inheritance: System.Object -> ProxyTransform
Implements: IProxyTransform, IEquatable<ProxyTransform>
- GameObjectProxySystem 에서 관리되는 프록시의 Transformation 을 수정할 수 있습니다.
사용자가 안전하게 데이터를 읽기 쓰기 할 수 있도록 도와주는 구조체입니다. 실제 데이터는 GameObjectProxySystem 에서 관리되는 NativeProxyData 의 ProxyTransformData 를 읽고 수정합니다.
public void TestMethod()
{
ProxyTransform tr = /* Some data works.. */;
// 만약 프록시 객체가 할당이 된 상태이면 프록시 오브젝트의 위치도 같이 업데이트합니다.
// 이때, OnTransformChangedEvent 도 같이 Post 됩니다.
tr.position = new float3(100, 0, 100);
}| Name | Description |
|---|---|
unsafe m_Pointer |
GameObjectProxySystem 에서 관리되는 프록시 데이터(NativeProxyData) 배열의 주소입니다. |
| m_Index | GameObjectProxySystem 에서 관리되는 NativeProxyData 배열의 인덱스 값입니다. |
| m_Generation | 프록시 시스템은 메모리도 재사용하므로, 이 값은 현재 이 프록시 데이터가 얼마나 재사용 되었는지를 저장합니다. |
| m_Hash | 이 프록시의 고유 해시입니다. |
| Name | Description |
|---|---|
unsafe Pointer |
|
unsafe Ref |
| Name | Description |
|---|---|
| SetProxy(int2) | |
| AsReadOnly() | 이 프록시 데이터를 읽기 전용으로 반환합니다. |
| Name | Description |
|---|---|
| index | GameObjectProxySystem 에서 관리되는 NativeProxyData 배열의 인덱스 값입니다. |
| generation | 프록시 시스템은 메모리도 재사용하므로, 이 값은 현재 이 프록시 데이터가 얼마나 재사용 되었는지를 저장합니다. |
| enableCull |
true 일 경우, 화면에서 보여지지 않을 경우 자동으로 프록시를 할당해제하여 다른 곳에 사용할 수 있도록 합니다. true 에서 false 로 설정할 경우, 프록시를 할당하도록 합니다. |
| isVisible | 현재 화면에서 보여지고 있는지 반환합니다. |
| hasProxy | 현재 이 데이터가 프록시를 보유하고 있거나 요청한 상태인지 반환합니다. |
| hasProxyQueued | 현재 이 데이터가 프록시 데이터를 요청한 상태인지 반환합니다. |
| proxy | 이 데이터의 프록시(RecycleableMonobehaviour)를 반환합니다. |
| isDestroyed | 이 데이터가 할당 해제되었는지 반환합니다. |
| isDestroyQueued | 이 데이터가 할당 해제 요청되었는지 반환합니다. |
| prefab | 이 데이터의 Prefab (PrefabReference) 를 반환합니다. |
| position | 이 데이터의 위치입니다. 데이터를 설정할 경우 OnTransformChangedEvent 를 호출합니다. |
| localPosition | |
| rotation | 이 데이터의 회전값입니다. 데이터를 설정할 경우 OnTransformChangedEvent 를 호출합니다. |
| localRotation | |
| eulerAngles | 이 데이터의 Radian 값을 Degree 로 연산한 값입니다. 데이터를 설정할 경우 OnTransformChangedEvent 를 호출합니다. |
| localEulerAngles | |
| scale | 이 데이터의 크기값입니다. 데이터를 설정할 경우 OnTransformChangedEvent 를 호출합니다. |
| localScale | |
| right | 이 Transformation 의 오른쪽 방향 백터입니다. |
| up | 이 Transformation 의 위쪽 방향 백터입니다. |
| forward | 이 Transformation 의 앞쪽 방향 백터입니다. |
| center | 이 Transformation 의 AABB center 값 입니다. |
| size | 이 Transformation 의 AABB size 값 입니다. |
| aabb | 이 Transformation 의 AABB 입니다. |
| localToWorldMatrix | |
| worldToLocalMatrix |
| Name | Description |
|---|---|
| Synchronize(ProxyTransform.SynchronizeOption) | 현재 데이터를 할당받은 프록시 데이터의 Translation 값과 일치시킵니다. 이 메소드는 Unity 스레드에서만 실행되야되며, 프록시가 없는 경우 NullReferenceException 을 throw 합니다 |
| SetParent(in ProxyTransform) | 부모를 설정합니다. |
| RemoveParent() | 현재 부모를 제거합니다. |
| Destroy() | 이 데이터를 파괴 요청합니다. |
| Equals(ProxyTransform) | |
| Equals(ITransform) |
- 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