Example #1
0
 public static void Initialize()
 {
     if (_instance == null)
     {
         _instance = new GameObject("AndroidManager").AddComponent <AndroidManager>();
     }
 }
        private void HandleSceneSwitch()
        {
            Debug.Log("Handle Scene Switch.");

            if (IsOnAndroid)
            {
                var sceneName = AndroidManager.GetInstance().RetrieveTargetSceneName();
                if (SceneManager.GetActiveScene().name == sceneName)
                {
                    return;
                }

                if (!string.IsNullOrEmpty(sceneName))
                {
                    SceneManager.LoadScene(sceneName);
                }
                else
                {
                    Debug.LogError("Error: Could not retrieve target scene name from Android App!");
                    SceneManager.LoadScene("MainScene");
                }
            }
            else if (IsOnIOS)
            {
                int scene = UnityRequestScene();

                Debug.Log("Scene: " + scene);

                if (scene == 0)
                {
                    SceneManager.LoadScene("MainScene");
                }
                else if (scene == 1)
                {
                    SceneManager.LoadScene("3DMotorScene");
                }
                else if (scene == 2)
                {
                    SceneManager.LoadScene("TurntableScene");
                }
                else
                {
                    SceneManager.LoadScene("MainScene");
                }
            }
            else
            {
                Debug.Log("Neither Android, nor iOS detected.");
            }
        }
        protected override void HandleTouch()
        {
            Debug.Log("Button " + _targetParameter + " touched!");
            base.HandleTouch();

            if (IsOnAndroid)
            {
                AndroidManager.GetInstance().CallJavaFunc(_targetMethod, _targetParameter);
            }
            else if (IsOnIOS)
            {
                UnityButtonPressed(_targetParameter);
            }
            else
            {
                Debug.Log("Hit via Raycast");
            }
        }
        // ---

        void Awake()
        {
            AndroidManager.Initialize();
        }
 void Awake()
 {
     AndroidManager.Initialize(); // FIXME: dirty, do not initialize here
 }