using System;
using BestHTTP;
using Common;
using DarkTonic.MasterAudio;
using Unity.XR.PXR;
using UnityEngine;
public enum Place
{
Company1Floor= 0,
LiaoNing_AnShan=1,
HangZhou_LongHuTianJie=2,
Nanjing_Yuhua_Wanxiang=3,
Nanjing_Xianlin_WanDaMao=4,
Yangzhou_Hanjiang_Tansuozhongxin=5,
Yangzhou_Hanjiang_Tansuozhongxin_wai=-5,
Zhejiang_Jinhua_KeJiGuan=6,
Guangzhou_Panyv_Zhanting=7,
Anhui_Wuhu_Guanwei=8,
Shandong_Jining_Shangchang = 9,
Shandong_Jining_Shangchang_nei = -9,
Shandong_Langfang_QingzhouTaihuacheng = 10,
Hubei_Xiangyang_Kejiguan=11,
}
public class GameLocal : MonoBehaviour
{
public static GameLocal Ins { get; private set; }
public Camera MRCamera;
public Transform Aim;
public Transform MRLeftControl;
public Transform MRRightControl;
//public PXR_Manager PXRManager;
public State BGMState;
// 验证信息
private AuthInfo authInfo = new AuthInfo();
[NonSerialized]
public Player self;
[Header("版本号")]
public string Version = "1.0.1";
[Header("场地")]
public Place place = Place.Company1Floor;
[NonSerialized]
public int GameMode = 0;
[NonSerialized]
public GameObject HitUI;
[NonSerialized]
public GameObject DieUI;
public Transform[] enemyStartPos;
public Transform[] gunPropPos;
void Start()
{
Ins = this;
Application.targetFrameRate = 60;
ConPanel.Show();
BGMState.StateChange(0);
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
ChangeMaterial(true);
PXR_MixedReality.EnableVideoSeeThrough(true);
#endif
}
///
/// 更换材质
///
public void ChangeMaterial(bool isChange)
{
}
///
/// 鉴权
///
public void RequestAuth(Action cb = null)
{
string url = "https://startcount-bgovpxyjzl.cn-hangzhou.fcapp.run";
url = "https://startcount-bgovpxyjzl.cn-hangzhou.fcapp.run";
url = "http://www.pineappletech.cn/startcount";
HTTPRequest request = new HTTPRequest(new Uri(url), HTTPMethods.Post, (req, response) =>
{
if (response != null)
{
Debug.Log("收到数据 ->" + response.DataAsText);
}
cb?.Invoke(req, response);
});
//request.AddHeader("Authorization", Author);
authInfo.deviceSn = GetSn();
authInfo.startAt = ConvertTimestampToDateTime(GetTimestamp()) + "";
//authInfo.paid = 2;
//authInfo.uuid = GetSn() + GetTimestamp();
//authInfo.shop =17;
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
authInfo.shop = (int)place;
if (place == Place.Yangzhou_Hanjiang_Tansuozhongxin_wai)
authInfo.shop = 5;
if (place == Place.Shandong_Jining_Shangchang_nei)
authInfo.shop = 9;
#endif
authInfo.gameId = 7;
string authJson = JsonUtility.ToJson(authInfo);
Debug.Log("发送数据 -> " + authJson);
request.RawData = System.Text.Encoding.UTF8.GetBytes(authJson);
request.AddHeader("Content-Type", "application/json");
request.Send();
}
public long GetTimestamp()
{
return (long)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
}
public string ConvertTimestampToDateTime(long timestamp)
{
// Unix时间戳是从1970年1月1日00:00:00开始的秒数或毫秒数
// 这里以秒为单位,如果时间戳是毫秒则除以1000
DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
return dateTime.ToString("yyyy-MM-dd HH:mm:ss");
}
///
/// 获取sn号
///
public string GetSn()
{
string res = "UnityEditor";
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
res = PXR_Enterprise.StateGetDeviceInfo(SystemInfoEnum.EQUIPMENT_SN);
#endif
return res;
}
}