UITransformComponent

UI Entity를 표시하는 필수 Component입니다.

# Properties

[{"index":"PlatformType ActivePlatform (ReadOnly)","0":"이 UI가 활성화되는 플랫폼을 설정합니다."}]

[{"index":"AlignmentType AlignmentOption","0":"앵커의 참조 포인트를 나타냅니다."}]

[{"index":"Vector2 anchoredPosition","0":"앵커 참조 포인트를 기준으로 한 UITransform의 중심 위치입니다."}]

[{"index":"Vector2 AnchorsMax","0":"오른쪽 상단 모서리가 고정되는 부모의 UITransform의 정규화된 위치입니다."}]

[{"index":"Vector2 AnchorsMin","0":"왼쪽 하단 모서리가 고정되는 부모의 UITransform의 정규화된 위치입니다."}]

[{"index":"Vector2 OffsetMax","0":"오른쪽 상단 앵커를 기준으로 한 사각형의 오른쪽 상단 모서리의 편차입니다."}]

[{"index":"Vector2 OffsetMin","0":"왼쪽 하단 앵커를 기준으로 한 사각형의 오른쪽 상단 모서리의 편차입니다."}]

[{"index":"Vector2 Pivot","0":"UI가 회전할 때 이용되는 정규화된 위치입니다."}]

[{"index":"Vector2 RectSize","0":"UI가 갖고 있는 크기를 나타냅니다."}]

[{"index":"UIModeType UIMode (ReadOnly)","0":"현재 UI가 그려지고 있는 형태를 나타냅니다."}]

[{"index":"Vector3 UIRotation (HideFromInspector)","0":"회전 값을 오일러 각으로 표현합니다."}]

[{"index":"Vector3 UIScale","0":"UI의 상대적인 크기 비율입니다."}]

##### inherited from TransformComponent:

[{"index":"Vector3 Position (Sync)","0":"엔티티의 부모를 기준으로 좌표를 나타냅니다."}]

[{"index":"Quaternion QuaternionRotation (Sync) (HideFromInspector)","0":"엔티티의 회전 값을 Quaternion으로 나타냅니다."}]

[{"index":"Vector3 Rotation","0":"엔티티의 회전 값을 오일러 각으로 나타냅니다. 2차원에서는 Z축을 이용하여 회전할 수 있습니다. QuaternitonRotation에 의해 동기화됩니다."}]

[{"index":"Vector3 Scale (Sync)","0":"엔티티의 크기 비율을 나타냅니다."}]

[{"index":"Vector3 WorldPosition","0":"엔티티의 월드 기준 좌표를 나타냅니다."}]

[{"index":"Vector3 WorldRotation (HideFromInspector)","0":"엔티티의 월드 기준 회전 값을 오일러 각으로 나타냅니다."}]

[{"index":"float WorldZRotation","0":"엔티티의 월드 기준 오일러 각 회전 값 중 Z축의 값을 나타냅니다."}]

[{"index":"float ZRotation","0":"엔티티의 오일러 각 회전 값 중 Z축의 값을 나타냅니다."}]

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"컴포넌트 활성화 여부를 확인합니다."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다."}]

[{"index":"Entity Entity (ReadOnly)","0":"이 컴포넌트를 소유한 엔티티입니다."}]

# Methods

[{"index":"table GetWorldCorners()","0":"UI의 사각 영역에 해당하는 4개의 꼭지점의 좌표를 좌하단, 좌상단, 우상단, 우하단 순으로 월드 좌표계로 변환하여 배열로 가져옵니다."}]

##### inherited from TransformComponent:

[{"index":"FastVector3 PositionAsFastVector3()","0":"Position값을 FastVector3 타입으로 반환합니다."}]

[{"index":"void Rotate(float angle)","0":"이 엔티티를 angle만큼 반시계 방향으로 회전시킵니다."}]

[{"index":"Vector3 ToLocalDirection(Vector3 worldDirection)","0":"입력 받은 방향을 월드 좌표에서 로컬 좌표로 변환합니다. Scale과 Position에 영향을 받지 않습니다."}]

[{"index":"Vector3 ToLocalPoint(Vector3 worldPoint)","0":"입력 받은 월드 좌표를 로컬 좌표로 변환합니다. Scale에 영향을 받습니다."}]

[{"index":"Vector3 ToWorldDirection(Vector3 localDirection)","0":"입력 받은 방향을 로컬 좌표에서 월드 좌표로 변환합니다. Scale과 Position에 영향을 받지 않습니다."}]

[{"index":"Vector3 ToWorldPoint(Vector3 localPoint)","0":"입력 받은 로컬 좌표를 월드 좌표로 변환합니다. Scale에 영향을 받습니다."}]

[{"index":"void Translate(float deltaX, float deltaY)","0":"이 엔티티의 좌표를 deltaX, deltaY만큼 이동시킵니다."}]

[{"index":"FastVector3 WorldPositionAsFastVector3()","0":"WorldPosition 값을 FastVector3 타입으로 반환합니다."}]

##### inherited from Component:

[{"index":"boolean IsClient()","0":"현재 실행 환경이 클라이언트인지 아닌지의 여부를 반환합니다."}]

[{"index":"boolean IsServer()","0":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]

# Events

[{"index":"UIModeTypeChangedEvent","0":"UITransformComponent의 UIMode가 바뀌었을 때 발생하는 이벤트입니다."}]

# Examples

UI 엔티티 크기를 `StrecthAll`를 활용해 변경하는 예제입니다. `OffsetMin`, `OffsetMax` 값을 이용하여 상하좌우의 값의 편차를 줄 수 있습니다. 사이즈가 주는 상태일 때는 빨간색, 사이즈가 커질 떄는 초록색으로 색상이 변경됩니다.
    
    
    @Component
    script UIExpandContractAnimator extends Component
        property number offset = 0
        property number dir = 1.0
    
        @ExecSpace("ClientOnly")
        method void OnUpdate(number delta)
        local offsetPerDelta = delta * 100.0 * self.dir
        self.offset = self.offset + offsetPerDelta
    
        if self.dir > 0 and self.offset >= 100 then
        	self.dir = -1.0
        elseif self.dir < 0 and self.offset <= 0 then
        	self.dir = 1.0
        end
    
        local uiTransform = self.Entity.UITransformComponent
        if uiTransform then
        	if uiTransform.AlignmentOption ~= AlignmentType.StretchAll then
        		uiTransform.AlignmentOption = AlignmentType.StretchAll
        		uiTransform.anchoredPosition = Vector2.zero
        		uiTransform.OffsetMax = Vector2.zero
        		uiTransform.OffsetMin = Vector2.zero
        	end
    
        	uiTransform.OffsetMin = Vector2(self.offset, self.offset)
        	uiTransform.OffsetMax = Vector2(-self.offset, -self.offset)
    
        end
    
        local guiRenderer = self.Entity.SpriteGUIRendererComponent
        if guiRenderer then
        	if self.dir > 0 then
        		guiRenderer.Color = Color.red
        		elseif self.dir < 0 then
        		guiRenderer.Color = Color.green
        	else
        		guiRenderer.Color = Color.white
        	end
        end
        end
    end
    

# SeeAlso

  * SpriteGUIRendererComponent
  * AlignmentType
  * Color
  * Vector2