2013-05-28 3 views
0

나는 iphone4에/3G/3GS런타임시 모든 게임을 완전히 비활성화하는 가장 좋은 방법은 무엇입니까?

를 실행할 때 화합, 내장 everyplay을 사용하지 않으려하지만 난 그냥 전 세계적으로 사용하지 않도록 설정하는 가장 쉬운 장소의 확실하지 않다. 어떤 제안?

if (iPhone.generation == iPhoneGeneration.iPhone4 || iPhone.generation == iPhoneGeneration.iPhone3G || iPhone.generation == iPhoneGeneration.iPhone3GS) 

답변

2

쉽게 게임의 첫 장면에서 Everyplay.SharedInstance.SetDisableSingleCoreDevices(true)를 호출하여 단일 코어 디바이스 (3GS/4 /는 'ipad1)을 해제 할 수 있습니다. 통화가 Everyplay에 의해 무시되기 때문에 그 후에 당신은 StartRecording를 단 하나 중핵 장치에 부르는 경우에 고민 할 필요 없다. 3G (및 유니티 에디터)는 처음부터 녹음을 지원하지 않습니다.

iPad에서 녹음을 지원해야하는 경우 1 가지 방법은 지원되지 않는 것으로 정의한 장치에서 녹음 기능을 호출하지 않는 Everyplay 싱글 톤 래퍼를 만드는 것입니다.

간단한 래퍼 예 (검증되지 않은하지만 당신에게 아이디어를 제공) :

using UnityEngine; 

public static class MyEveryplayWrapper { 
    private static iPhoneGeneration[] unsupportedDevices = { 
     iPhoneGeneration.iPad1Gen, 
     iPhoneGeneration.iPhone, 
     iPhoneGeneration.iPhone3G, 
     iPhoneGeneration.iPhone3GS, 
     iPhoneGeneration.iPodTouch1Gen, 
     iPhoneGeneration.iPodTouch2Gen, 
     iPhoneGeneration.iPodTouch3Gen 
    }; 

    private static bool CheckIfRecordingSupported() { 
     bool recordingSupported = !Application.isEditor; 

     foreach(iPhoneGeneration device in unsupportedDevices) { 
      if(device == iPhone.generation) { 
       recordingSupported = false; 
       break; 
      } 
     } 

     Debug.Log ("Everyplay recording support: " + recordingSupported); 

     return recordingSupported; 
    } 

    public static bool IsRecordingSupported = CheckIfRecordingSupported(); 

    public static void StartRecording() { 
     if(IsRecordingSupported) { 
      Everyplay.SharedInstance.StartRecording(); 
     } 
    } 

    public static void StopRecording() { 
     if(IsRecordingSupported) { 
      Everyplay.SharedInstance.StopRecording(); 
     } 
    } 
} 

방금 ​​MyEveryplayWrapper.MethodName 대신 Everyplay.SharedInstance.MethodName 전화를 사용하려면. UI를 렌더링 할 때 IsRecordingSupported을 고려하여 Everplay 관련 버튼 등을 표시하거나 숨길 수 있습니다.