﻿using UnityEngine;
namespace VRPlayerSDK.sample
{
    public class SampleEventHandler : MonoBehaviour
	{
		public HuaweiVRPlayer VRPlayer;
		public SamplePlayerTouchUI playerUI;

		// Use this for initialization
		void Start()
		{
			VRPlayer.SetOnCompletionListener(OnCompletionCallback);
			VRPlayer.SetOnErrorListener(OnErrorCallback);
			VRPlayer.SetOnBufferingUpdateListener(OnBufferingUpdateCallback);
			VRPlayer.SetOnInfoListener(OnInfoCallback);
			VRPlayer.SetPlayerOrientationCallback(OrientationCallback);
		}

		// Update is called once per frame
		void Update()
		{
			OrientationCallback();
		}

		private Vector3 OrientationCallback() {
			Vector3 vector = playerUI.DiractionCamera.transform.rotation.eulerAngles;
			Debug.Log("[OrientationCallback]");
			Debug.Log(vector);
			return vector;
		}

		private void OnCompletionCallback()
		{
			Debug.Log("[SampleEventHandler]收到播放器播放结束事件");
			playerUI.SetPlayingInfo("播放结束");
			playerUI.SetPlayingProgress(0, 0);
		}

		private void OnErrorCallback(int what)
		{
			Debug.Log("[SampleEventHandler]收到播放器错误事件:" + what);
			playerUI.SetPlayingInfo("播放器错误:"+what);
            playerUI.OnStopBnClicked();
		}

		private void OnBufferingUpdateCallback(int percent)
		{
			Debug.Log("[SampleEventHandler]收到播放器缓冲事件："+percent);
			playerUI.SetPlayingInfo("收到播放器缓冲事件：" + percent);
		}

		private void OnInfoCallback(int what, int extra = 0)
		{
			Debug.Log("[SampleEventHandler]收到播放器消息事件:" + what + "," + extra);
			playerUI.SetPlayingInfo("播放器消息:" + what + "," + extra);
		}
	}

}
