123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Networking;
- using Newtonsoft.Json.Linq;
- namespace LoyalSoftSDK
- {
- public class FloatPanel : BaseUIForm
- {
- private GameObject btnPanl;
- private GameObject mainImg;
- private GameObject img0;
- private GameObject img1;
- private GameObject img2;
- private GameObject img3;
- private DragUtils dragUtils;
- private RectTransform btnPanlRectTrm;
- private Vector3 leftPoint;
- private Vector3 rightPoint;
- private Vector3 centerPoint;
- private Vector3 starPoint;
- // Use this for initialization
- private Animator animator;
- private bool isOnLeft;
- private bool isOpenPanl;
- private AndroidJavaObject jo;
- float curTime = 0;
- float spaceTime = 15;
- bool upLoad = true;
- public override void Init()
- {
- upLoad = true;
- curUIType = UIType.Float;
- btnPanl = this.transform.Find("ButtonPanel").gameObject;
- animator = btnPanl.transform.GetComponent<Animator>();
- btnPanlRectTrm = btnPanl.transform.GetComponent<RectTransform>();
- mainImg = this.transform.Find("ButtonPanel/MainImage").gameObject;
- dragUtils = mainImg.transform.GetComponent<DragUtils>();
- dragUtils.OnEndDragHandler = OnMainImgEndDrag;
- dragUtils.OnClickHandler = OnMainImgClick;
- dragUtils.OnBeginDragHandler = OnMainImgBeginDrag;
- img0 = this.transform.Find("ButtonPanel/Image0").gameObject;
- img1 = this.transform.Find("ButtonPanel/Image1").gameObject;
- img2 = this.transform.Find("ButtonPanel/Image2").gameObject;
- img3 = this.transform.Find("ButtonPanel/Image3").gameObject;
- EventTriggerListener.Get(img0).onClick = SoftClick;
- EventTriggerListener.Get(img1).onClick = PayInfoClick;
- EventTriggerListener.Get(img2).onClick = ResetPassClick;
- EventTriggerListener.Get(img3).onClick = CloseClick;
- //Debug.Log(UIFormManager.GetInstance().canvasTransform.localScale.x);
- //Debug.Log(35 / UIFormManager.GetInstance().canvasTransform.localScale.x);
- Canvas canvas = UIFormManager.GetInstance().canvasTransform.GetComponent<Canvas>();
- RectTransform cavasRectTransform = UIFormManager.GetInstance().canvasTransform.GetComponent<RectTransform>();
- Camera camera = UIFormManager.GetInstance().canvasTransform.Find("Camera").GetComponent<Camera>();
- Vector2 helpPoint0 = new Vector2(((btnPanlRectTrm.rect.width) * canvas.scaleFactor * 0.5f), (Screen.height * 0.8f));
- if (!RectTransformUtility.ScreenPointToWorldPointInRectangle(cavasRectTransform, helpPoint0, camera, out starPoint))
- {
- Debug.LogError("悬浮框初始定位点获取失败!应该看不到悬浮框了");
- }
- btnPanlRectTrm.position = new Vector3(starPoint.x, starPoint.y, btnPanlRectTrm.position.z);
- isOnLeft = true;
- IsOpenPanl = false;
- Vector2 helpPoint1 = new Vector2(Screen.width - ((btnPanlRectTrm.rect.width) * canvas.scaleFactor * 0.5f), 0f);
- if (!RectTransformUtility.ScreenPointToWorldPointInRectangle(cavasRectTransform, helpPoint1, camera, out rightPoint))
- {
- Debug.LogError("悬浮框右定位点获取失败!应该看不到悬浮框了");
- }
- Vector2 helpPoint2 = new Vector2(((btnPanlRectTrm.rect.width) * canvas.scaleFactor * 0.5f), 0f);
- if (!RectTransformUtility.ScreenPointToWorldPointInRectangle(cavasRectTransform, helpPoint2, camera, out leftPoint))
- {
- Debug.LogError("悬浮框左定位点获取失败!应该看不到悬浮框了");
- }
- Vector2 helpPoint3 = new Vector2(Screen.width * 0.5f, 0f);
- if (!RectTransformUtility.ScreenPointToWorldPointInRectangle(cavasRectTransform, helpPoint3, camera, out centerPoint))
- {
- Debug.LogError("悬浮框屏幕中点获取失败!");
- }
- if (LoyalGameSDK.platform == Platform.Android)
- {
- using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
- {
- jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
- }
- }
- }
- private bool IsOpenPanl
- {
- get
- {
- return isOpenPanl;
- }
- set
- {
- isOpenPanl = value;
- if (!isOpenPanl)
- {
- if (isOnLeft)
- {
- animator.Play("CloseAnimationOnLeft");
- }
- else
- {
- animator.Play("CloseAnimationOnRight");
- //if(animator.GetCurrentAnimatorStateInfo(1).speed == -1)
- //{
- // animator.speed = -1;
- //}
- }
- }
- else
- {
- if (isOnLeft)
- {
- animator.Play("OpenAnimationOnLeft");
- }
- else
- {
- animator.Play("OpenAnimationOnRight");
- }
- }
- }
- }
- private void Update()
- {
- if(upLoad == false)
- {
- return;
- }
- curTime += Time.deltaTime;
- if (curTime >= spaceTime)
- {
- curTime = 0;
- string url = "addTs=0&" + "pid=" + UserManager.GetInstance().GetCurUser().Account;
- string sign = Config.CalcReportSgin(url);
- // 协同获取游戏时长
- StartCoroutine(NetRequest(Config.realReport_url, url + "&sign=" + sign, (status, msg) =>
- {
- if (status == "succees")
- {
- JObject jobj = JObject.Parse(msg);
- RealInfo_ret realInfo_Ret = jobj.ToObject<RealInfo_ret>();
- if (realInfo_Ret.ret == 0)
- {
- if (realInfo_Ret.data.ageType != "00")
- {
- int time = realInfo_Ret.data.todayGameTime / 60;
- if (time >= 90)
- {
- UI_CueDialog.Instance().Open("根据国家相关规定,未成年玩家每日游戏时间不得超过1.5小时。", "", E_DialogType.OneButton, () =>
- {
- Application.Quit();
- });
- }
- }
- else
- {
- upLoad = false;
- }
- }
- }
- }));
- }
- }
- /// <summary>
- /// 网络请求(就一个协成方法不再单独写了)
- /// </summary>
- /// <returns></returns>
- public IEnumerator NetRequest(string url, string packet, Action<string, string> callback)
- {
- WWW www = null;
- DateTime maxTs = DateTime.Now.AddSeconds(25);
- byte[] bytedata = System.Text.Encoding.UTF8.GetBytes(packet);
- www = new WWW(url, bytedata);
- if (null == www || www.error != null)
- {
- callback("err", "wwwerror@:@" + www.error);
- yield break;
- }
- // 超时检测
- while (false == www.isDone)
- {
- TimeSpan span = DateTime.Now - maxTs;
- if (span.TotalMilliseconds < 0)
- {
- yield return null;
- }
- else
- {
- Debug.LogError("超时");
- callback("err", "timeout@:@网络超时");
- yield break;
- }
- }
- // 网络错误检测
- if (www.error != null || www.text == null)
- {
- // Debug.Log("www error:" + www.error);
- callback("err", "wwwerror@:@" + www.error);
- yield break;
- }
- callback("succees", www.text);
- }
- private void OnMainImgBeginDrag()
- {
- if (IsOpenPanl)
- {
- IsOpenPanl = false;
- }
- }
- private void OnMainImgEndDrag()
- {
- if (btnPanlRectTrm.position.x > centerPoint.x)
- {
- btnPanlRectTrm.position = new Vector3(rightPoint.x, btnPanlRectTrm.position.y, btnPanlRectTrm.position.z);
- isOnLeft = false;
- }
- else
- {
- btnPanlRectTrm.position = new Vector3(leftPoint.x, btnPanlRectTrm.position.y, btnPanlRectTrm.position.z);
- isOnLeft = true;
- }
- }
- private void OnMainImgClick()
- {
- IsOpenPanl = !IsOpenPanl;
- }
- private void ResetPassClick(GameObject go)
- {
- UIFormManager.GetInstance().ShowUIForm("ResetPassPanel", null, null);
- IsOpenPanl = false;
- }
- private void CloseClick(GameObject go)
- {
- UIFormManager.GetInstance().ShowUIForm("CloseFloatPanel", null, null);
- IsOpenPanl = false;
- }
- private void PayInfoClick(GameObject go)
- {
- Dictionary<string, object> sendPostDic = new Dictionary<string, object>();
- string senStr;
- sendPostDic.Add("uid", UserManager.GetInstance().GetCurUser().UserId);
- string sign = RegexInspection.GetMD5Hash(UserManager.GetInstance().GetCurUser().UserId + "ylsj");
- sendPostDic.Add("sign", sign);
- senStr = MiniJSON.Json.Serialize(sendPostDic);
- StartCoroutine(UserManager.GetInstance().NetRequest("http://115.159.121.129/ylsj/Gameserver/Amfphp/service_call/pay/charge_info.php", senStr, GetInfoCallBack));
- }
- private void SoftClick(GameObject go)
- {
- if (LoyalGameSDK.platform == Platform.Android)
- {
- try
- {
- jo.Call("openUrl", "http://www.game7000.com");
- }
- catch (Exception e)
- {
- Debug.LogError(e);
- }
- }
- IsOpenPanl = false;
- }
- private void GetInfoCallBack(string code, string data)
- {
- Dictionary<string, string> dataInfo = new Dictionary<string, string>();
- dataInfo.Add("code", code);
- dataInfo.Add("data", data);
- UIFormManager.GetInstance().ShowUIForm("PayInfoPanel", null, dataInfo);
- IsOpenPanl = false;
- }
- }
- }
|