2013-05-28 2 views

Répondre

2

Vous pouvez facilement désactiver les périphériques unipolaires (3GS/4/ipad1) en appelant Everyplay.SharedInstance.SetDisableSingleCoreDevices(true) dans la première scène de votre jeu. Après cela, vous n'avez pas à vous inquiéter si vous appelez StartRecording sur un seul appareil car les appels sont ignorés par Everyplay. 3G (et l'éditeur Unity) ne supporte pas l'enregistrement en premier lieu. Dans le cas où vous devez prendre en charge l'enregistrement sur l'iPad 1, une approche consiste à créer un wrapper singleton Everyplay qui n'appelle simplement pas les fonctions d'enregistrement sur les périphériques que vous avez définis comme non pris en charge.

Exemple d'emballage simple (non testé mais vous donne l'idée):

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(); 
     } 
    } 
} 

Pour l'utiliser, vous appelez simplement MyEveryplayWrapper.MethodName au lieu de Everyplay.SharedInstance.MethodName. Lors du rendu de votre interface utilisateur, vous pouvez prendre le IsRecordingSupported en compte pour afficher/masquer les boutons associés à Everplay etc.

Questions connexes