﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.SceneManagement;

public class DHLog : MonoBehaviour {

	public bool isAppStore = false ;
	private static List<NoticeMsg> showMsgList = new List<NoticeMsg> ();

//	private static DHUnionSdkCallback mUnionSdkCallback = new DHUnionSdkCallback();
	private static string uid = "";
	private static string uname = "";

	public class NoticeMsg {
		public string msg{ set; get; }

		public DateTime beginTime{ set; get; }
	}

	// Use this for initialization, sdk should be initialized on app startup
	void Start() {
		
	}

	// Update is called once per frame
	void Update() {
		if (Input.GetKey (KeyCode.Escape)) {
			//when back key pressed and the app is about to exit, sdk should be released
//			DHSDKHelper.exit (mUnionSdkCallback);
		}
	}

	void OnGUI() {
		GUI.skin.label.fontSize = 50;
		GUI.skin.button.fontSize = 40;

		int _maxHeight = Screen.height / 9;

		int _spaceHeight = 10;

		int _newHeight = _maxHeight - _spaceHeight;

		GUI.Label (new Rect (50, _spaceHeight, Screen.width - 100, _newHeight), "DHTrackDemo");

		if (GUI.Button(new Rect(50, _maxHeight * 1 + _spaceHeight, Screen.width - 100, _newHeight), "Back"))
		{
			AsyncOperation op = SceneManager.LoadSceneAsync("DHUnionSDKUnityDemo");
			op.allowSceneActivation = true;

		}


        /* 电魂数据统计 启动  登陆 支付等数据统计由sdk内部上报 ups数据 游戏根据需要  自选接入*/

        if (GUI.Button(new Rect(50, _maxHeight * 5 + _spaceHeight, Screen.width - 100, _newHeight), "ups log"))
        {
            // ups日志  暂时不要测试  可能会sdk直接写好  调用层直接传tag就可以 
            Dictionary<string, string> ups = DHSDKHelper.DHParam.Builder()
                                    .put("fps", "30")              // 帧率（1分钟低帧率超过多少次上报）(游戏传入)
                                    .put("zid", "102")       // 游戏真实大区id
                                    .put("server_id", "1")        // 大区的下一级，若游戏无服概念，则填1作为初始服编号
                                    .put("role_id", "6")      // 游戏区服内唯一（各游戏的生成规则不同），纯数字
                                    .put("user_id", "0")      // 游戏内唯一（生成规则？），纯数字，若游戏没有玩家ID则填0
                                    .put("scene", "123")       // 若不提供该字段则留空，若提供但未知的情况填unknown，如地图ID(游戏传入)
                                    .put("scene_id", "321")        // 若不提供该字段则留空，若提供但未知的情况填unknown，如比赛ID(游戏传入)

                                    .put("server_ip", "192.168.112.11")              // 比赛服务器IP
                                    .put("server_port", "6678")       // 比赛服务器端口
                                    .put("avg_ping", "200")        // 与比赛服之间平均ping值
                                    .put("min_ping", "150")      // 与比赛服之间最小ping值
                                    .put("max_ping", "300")      // 与比赛服之间最大ping值
                                    .put("server_respond_avg", "250")       // 服务器平均响应时间
                                    .put("server_respond_max", "300")        // 服务器最大响应时间
                                    .put("server_respond_min", "200")              // 服务器最小响应时间
                                    .put("netspeed_state", "1")       // 网络加速器状态
                                    .put("netspeed_ip", "211.11.11.1")        // 网络加速器连接的IP
                                    .put("netspeed_type", "1")      // 网络加速器类型
                                    .put("track_platform", "dianhun")      // 网络加速器类型
                                    .toDictionary();
            DHSDKHelper.track("ups_delay", ups);
        }


        if (GUI.Button(new Rect(50, _maxHeight * 6 + _spaceHeight, Screen.width - 100, _newHeight), "fps log"))
        {
            // ups日志  暂时不要测试  可能会sdk直接写好  调用层直接传tag就可以 
            Dictionary<string, string> ups = DHSDKHelper.DHParam.Builder()
                                    .put("zid", "102")       // 游戏真实大区id
                                    .put("server_id", "1")        // 大区的下一级，若游戏无服概念，则填1作为初始服编号
                                    .put("role_id", "6")      // 游戏区服内唯一（各游戏的生成规则不同），纯数字
                                    .put("user_id", "0")      // 游戏内唯一（生成规则？），纯数字，若游戏没有玩家ID则填0
                                    .put("scene", "123")       // 若不提供该字段则留空，若提供但未知的情况填unknown，如地图ID(游戏传入)
                                    .put("scene_id", "321")        // 若不提供该字段则留空，若提供但未知的情况填unknown，如比赛ID(游戏传入)
                                    .put("under30_cnt", "10")        // 低于30帧的次数  一分钟内统计
                                    .put("under30_fps_avg", "10")        // 低于30帧的平均帧数  一分钟内统计低于30帧部分的数据
                                    .put("under30_fps_max", "10")        // 低于30帧的最大帧数  一分钟内统计低于30帧部分的数据
                                    .put("under30_fps_min", "10")        // 低于30帧的最小帧数  一分钟内统计低于30帧部分的数据
                                    .toDictionary();
            DHSDKHelper.track("ups_fps", ups);
        }

			
	}
}
