UDN
Search public documentation:

PlatformInterfaceFrameworkKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 모바일 홈 > 플랫폼 인터페이스 프레임워크

플랫폼 인터페이스 프레임워크


문서 변경내역: Jeff Wilson 작성. 홍성진 번역.

ALERT! 이 문서는 2011년 8월 빌드에 추가된 기능과 시스템에 대한 것을 다루고 있습니다.

개요


PlatformInterface 프레임워크는 다양한 플랫폼 인터페이스 클래스에 대한 베이스와 범용 델리게이트 시스템에 대한 지원은 물론, 서브클래스를 틱에 등록시킬지 결정하게도 합니다.

플랫폼 인터페이스
  • Cloud Document Storage KR 클라우드 도큐멘트 스토리지 - 애플의 iCloud 플랫폼과같은 클라우드 도큐멘트 스토리지 사용법입니다.
  • FacebookIntegration KR 페이스북 통합 - iOS 플랫폼에서의 페이스북 통합 관련 문서입니다.
  • In Game Ads KR In-Game Ad - iOS 의 iAd 같은 게임내 광고 사용하는 법입니다.
  • Micro Transactions KR 소액 결제 - iOS 의 In-App purchase 같은 게임내 제품 구매 관련 글입니다.
  • TwitterIntegration KR 트위터 통합 - iOS 플랫폼에서의 트위터 통합입니다.

PlatformInterfaceBase


PlatformInterfaceBase 는 모든 플랫폼 인터페이스 클래스에 대한 베이스 클래스입니다. 각 플랫폼 인터페이스는 이 클래스에서 확장되며, 플랫폼 전용 자체 함수성을 추가하여 자체 델리게이트 타입을 정의합니다.

PlatformInterface 델리게이트


범용 델리게이트 시스템은 PlatformInterface 프레임워크 내 모든 델리게이트가 사용하는 델리게이트 시그너처 하나로 구성됩니다.

delegate PlatformInterfaceDelegate(const out PlatformInterfaceDelegateResult Result);

프래임워크 안에서 한 델리게이트의 콜백으로 사용하려는 함수는 이 시그너처에 일치해야 합니다.

델리게이트는 각 플랫폼 인터페이스 서브클래스에 정의된 타입에 따라 할당됩니다. 사용가능한 형이 담긴 열거형은 각 서브클래스에서 정의해야 합니다. 함수와 이 열거형의 값을 아래 함수 중 하나로 전달하는 식으로, 델리게이트에 함수를 할당하거나 제거합니다:

  • AddDelegate [DelegateType] [InDelegate] -
    • DelegateType - 사용가능한 델리게이트 타입을 정의하는 서브클래스의 열거형 내 항목을 나타내는 Int 입니다.
    • InDelegate - 델리게이트에 할당할, PlatformInterfaceDelegate 시그너처에 일치하는 함수입니다.
  • ClearDelegate [DelegateType] [InDelegate] -
    • DelegateType - 사용가능한 델리게이트 타입을 정의하는 서브클래스의 열거형 내 항목을 나타내는 Int 입니다.
    • InDelegate - 델리게이트에서 제거할, PlatformInterfaceDelegate 시그너처에 일치하는 함수입니다.

플랫폼 인터페이스 데이터 콘테이너


데이터는 특수한 형태의 데이터 콘테이너 PlatformInterfaceDelegateResult 의 사용을 통해, 플랫폼 인터페이스에서 델리게이트로 전달됩니다. 이 구조체에 포함된 것은 다음과 같습니다:

  • bSuccessful - 수행한 동작이 성공했는지를 나타내는 불리언입니다.
  • Data - 수행한 동작에서 반환된 데이터가 들어있는 PlatformInterfaceData 구조체입니다. PlatformInterfaceData 는 플랫폼 통합 델리게이트에 전달할 범용 데이터를 담도록 고안되었으며, 다음과 같이 구성됩니다:
    • DataName - 반환되는 데이터에 대한 옵션 태그를 지정하는 Name 입니다.
    • Type - 담긴 데이터 형태를 지정하는 EPlatformInterfaceDataType 입니다. 유효하고 데이터를 담고있는 *Value 프로퍼티가 (있다면) 어느것인지를 결정합니다.
      • PIDT_None - 데이터를 담고있는 프로퍼티가 없음을 나타냅니다.
      • PIDT_Int - IntValut 프로퍼티가 데이터를 담고 있음을 나타냅니다.
      • PIDT_Float - FloatValue 프로퍼티가 데이터를 담고 있음을 나타냅니다.
      • PIDT_String - StringValue 프로퍼티가 데이터를 담고 있음을 나타냅니다.
      • PIDT_Object - ObjectValue 프로퍼티가 데이터를 담고 있음을 나타냅니다.
      • PIDT_Custom - 둘 이상의 프로퍼티가 데이터를 담고 있음을 나타냅니다.
    • IntValue - 구조체의 정수 값을 담습니다.
    • FloatValue - 구조체의 실수 값을 담습니다.
    • StringValue - 구조체의 문자열 값을 담습니다.
    • ObjectValue - 구조체의 오브젝트 데이터를 담습니다.