powerfun-unity/Assets/Scripts/Scenes/MainController.cs

563 lines
22 KiB
C#
Raw Normal View History

2021-09-13 18:21:43 +08:00
using Assets.Scenes.Ride.Scripts;
using Assets.Scenes.Ride.Scripts.Model;
2021-09-13 18:21:43 +08:00
using Assets.Scripts;
2021-04-23 09:22:12 +08:00
using Assets.Scripts.Devices.Ant;
using Assets.Scripts.Scenes;
using Assets.Scripts.UI.Prefab.Device;
2021-12-14 18:10:58 +08:00
using DG.Tweening;
2021-04-23 09:22:12 +08:00
using Mapbox.Examples;
2021-08-26 15:08:02 +08:00
using System;
2021-04-14 15:02:33 +08:00
using System.Collections;
2021-03-25 16:53:39 +08:00
using System.Collections.Generic;
2021-12-15 18:18:12 +08:00
using System.Linq;
2021-04-23 09:22:12 +08:00
using System.Threading.Tasks;
2021-03-25 16:53:39 +08:00
using UnityEngine;
using UnityEngine.SceneManagement;
2021-04-19 14:36:08 +08:00
using UnityEngine.UI;
2021-03-25 16:53:39 +08:00
public class MainController : BaseScene
2021-03-25 16:53:39 +08:00
{
[SerializeField] GameObject root;
2021-04-19 14:36:08 +08:00
private Text Version;
2022-05-25 18:40:47 +08:00
protected override void Awake()
2021-04-14 15:02:33 +08:00
{
base.Awake();
2021-12-17 18:28:02 +08:00
Debug.Log("执行25");
2022-05-25 18:40:47 +08:00
MapUDPService.MessageListener = ListenerHandler;
Version = this.transform.Find("GameObject").Find("Version").GetComponent<Text>();
Version.text = "V" + App.AppVersion;
DeviceCache.Init(PFConstants.DeviceCacheFolder);
2021-06-08 10:30:26 +08:00
Loom.Initialize();
2021-12-14 18:10:58 +08:00
msg = transform.Find("GameObject/Message").GetComponent<CanvasGroup>();
2021-12-15 18:18:12 +08:00
InitialMessage();
2022-03-02 17:03:29 +08:00
MailReceiver.Instance().GetMessage();
2021-08-24 17:50:14 +08:00
#if UNITY_ANDROID || UNITY_IOS
2021-08-25 14:32:49 +08:00
transform.GetComponent<CanvasScaler>().referenceResolution = new Vector2(844, 390);
2021-08-27 10:12:50 +08:00
//transform.Find("Panel").GetComponent<RectTransform>().sizeDelta = new Vector2(844, 390);
var rectTransform = transform.Find("Panel").GetComponent<RectTransform>();
rectTransform.anchorMin = Vector2.zero;
rectTransform.anchorMax = Vector2.one;
rectTransform.offsetMin = Vector2.zero;
rectTransform.offsetMax = Vector2.zero;
2021-12-30 16:51:04 +08:00
transform.Find("GameObject/Version").gameObject.SetActive(false);
//var rect1 = transform.Find("GameObject").GetComponent<RectTransform>();
//rect1.anchorMin = Vector2.zero;
//rect1.anchorMax = Vector2.one;
//rect1.offsetMin = Vector2.zero;
//rect1.offsetMax = Vector2.zero;
2021-08-26 15:08:02 +08:00
//transform.Find("ModalPanel").GetComponent<RectTransform>().sizeDelta = new Vector2(844, 390);
#else
2021-11-04 13:24:40 +08:00
var modalRect = transform.Find("ModalPanel").GetComponent<RectTransform>();
modalRect.anchorMin = new Vector2(0.5f, 0.5f);
modalRect.anchorMax = new Vector2(0.5f, 0.5f);
modalRect.offsetMin = Vector2.zero;
modalRect.offsetMax = Vector2.zero;
modalRect.sizeDelta = new Vector2(1600, 900);
App.MainDeviceAdapter.StartScan();
2021-08-24 17:50:14 +08:00
#endif
EventQueueSystem.AddListener<LinkedMessageEvent>(LinkedMessageHandler);
App.isHomeChanged -= OnIsHomeChanged;
App.isHomeChanged += OnIsHomeChanged;
2021-12-15 18:18:12 +08:00
}
#region
//切换页面后
private void OnIsHomeChanged(object sender, EventArgs e)
{
//DOTween.KillAll();
2021-12-16 16:54:31 +08:00
FinishMessage(sender);
}
2022-05-25 18:40:47 +08:00
private bool DataSorceChanged { get; set; }
private void ListenerHandler(List<ReceiveMsgModel> message)
{
var msg = message.Where(c => c.RoomList != null && c.RoomList.Count > 0).FirstOrDefault();
if (msg != null)
{
App.gameRoomDetail = msg.RoomList.FirstOrDefault();
DataSorceChanged = true;
}
}
2021-12-27 09:39:07 +08:00
List<CanvasGroup> msgs;
2021-12-15 18:18:12 +08:00
Vector3 msgLocation;
int msgIndex = 0;
CanvasGroup rightMessage;
2021-12-15 18:18:12 +08:00
private void InitialMessage()
{
2022-01-24 15:36:18 +08:00
Debug.Log("初始化组件");
2021-12-16 16:54:31 +08:00
#if UNITY_STANDALONE_WIN
2021-12-15 18:18:12 +08:00
msgLocation = 1 * msg.transform.localPosition;
2022-01-10 14:58:57 +08:00
var go = transform.Find("GameObject");
rightMessage = Instantiate<CanvasGroup>(msg);
DestroyImmediate(transform.Find("GameObject/Message").gameObject);
rightMessage.transform.SetParent(go);
rightMessage.transform.localScale = Vector3.one;
rightMessage.transform.localPosition = 1 * msgLocation;
rightMessage.alpha = 0;
msgs = new List<CanvasGroup> { rightMessage };
for (int i = 0; i < 4; i++)
{
var tmpm = Instantiate<CanvasGroup>(rightMessage);
tmpm.transform.SetParent(rightMessage.transform.parent);
tmpm.transform.localPosition = 1 * msgLocation;
tmpm.transform.localScale = Vector3.one;
tmpm.alpha = 0;
msgs.Add(tmpm);
}
2021-12-16 16:54:31 +08:00
#else
msgLocation = new Vector3(168, 37-46, 0);
2021-12-16 16:54:31 +08:00
var go = transform.Find("GameObject");
go.GetComponent<RectTransform>().anchorMin = Vector2.zero;
go.GetComponent<RectTransform>().anchorMax = Vector2.one;
go.GetComponent<RectTransform>().offsetMax = Vector2.zero;
go.GetComponent<RectTransform>().offsetMin = Vector2.zero;
DestroyImmediate(transform.Find("GameObject/Message").gameObject);
var m = Resources.Load<GameObject>("UI/Prefab/NewRoute/Mobile/Message");
rightMessage = Instantiate<GameObject>(m).GetComponent<CanvasGroup>();
rightMessage.transform.SetParent(go);
rightMessage.transform.localScale = Vector3.one;
2021-12-27 09:39:07 +08:00
rightMessage.transform.localPosition = 1 * msgLocation;
rightMessage.alpha = 0;
2021-12-27 09:39:07 +08:00
msgs = new List<CanvasGroup> { rightMessage };
for (int i = 0; i < 4; i++)
2021-12-27 09:39:07 +08:00
{
var tmpm = Instantiate<CanvasGroup>(rightMessage);
tmpm.transform.SetParent(rightMessage.transform.parent);
tmpm.transform.localPosition = 1 * msgLocation;
tmpm.transform.localScale = Vector3.one;
tmpm.alpha = 0;
msgs.Add(tmpm);
}
2021-12-16 16:54:31 +08:00
Debug.Log(rightMessage.GetComponent<RectTransform>().localPosition);
//rightMessage.transform.SetParent(transform.Find("GameObject"));
#endif
2021-12-15 18:18:12 +08:00
}
2022-01-24 15:36:18 +08:00
private void ShowQueueMessage()
2021-12-15 18:18:12 +08:00
{
int i = 0, count = App.globalMessageQueue.Count;
2022-01-24 15:36:18 +08:00
while (App.globalMessageQueue.Count != 0)
2021-12-16 16:54:31 +08:00
{
2022-01-24 15:36:18 +08:00
//SetMessage(msgs[i], App.globalMessageQueue.Dequeue());
var v = 1 * msgLocation;
// 0 1 2
// 2 1 0
msgs[i].transform.localPosition = new Vector3(v.x, v.y - (count - 1 - i) * moveOffset, v.z);
msgs[i].alpha = 1;
msgs[i].gameObject.SetActive(true);
SetMessage(msgs[i], App.globalMessageQueue.Dequeue());
i++;
2021-12-16 16:54:31 +08:00
}
2022-01-24 15:36:18 +08:00
msgIndex = i;
}
2022-01-24 15:36:18 +08:00
private void LinkedMessageHandler(LinkedMessageEvent e)
2021-12-15 18:18:12 +08:00
{
2022-01-24 15:36:18 +08:00
if (App.globalMessageQueue.Count == 5)
2021-12-15 18:18:12 +08:00
{
2022-01-24 15:36:18 +08:00
App.globalMessageQueue.Dequeue();
2021-12-15 18:18:12 +08:00
}
2022-01-24 15:36:18 +08:00
App.globalMessageQueue.Enqueue(e);
emptyt = 0;
if (App.currentPageIsHome)
2021-12-15 18:18:12 +08:00
{
DoMessage6(e);
2021-12-15 18:18:12 +08:00
}
}
2022-01-24 15:36:18 +08:00
2022-01-10 14:58:57 +08:00
#if UNITY_STANDALONE_WIN
float moveOffset = 74;
2022-01-10 14:58:57 +08:00
#else
float moveOffset = 38;
#endif
2021-12-27 09:39:07 +08:00
private void DoMessage6(LinkedMessageEvent e)
{
2022-01-12 10:29:10 +08:00
//Resources.UnloadUnusedAssets();
//GC.Collect();
2022-01-24 15:36:18 +08:00
Debug.Log(msgIndex);
var selectIndex = msgIndex % 5;
2021-12-27 09:39:07 +08:00
var m = msgs[selectIndex];
if (msgIndex >= 5) //
2021-12-27 09:39:07 +08:00
{
//msgIndex = 0;
Sequence se = DOTween.Sequence();
2021-12-30 16:51:04 +08:00
//m.transform.DOLocalMoveY(m.transform.localPosition.y - 38, 0.5f);
foreach (var item in msgs)
{
2022-01-10 14:58:57 +08:00
se.Join(item.transform.DOLocalMoveY(item.transform.localPosition.y - moveOffset, 0.5f));
2021-12-30 16:51:04 +08:00
}
se.Join(m.DOFade(0, 0.5f));
se.Play().onComplete = () =>
2021-12-27 09:39:07 +08:00
{
SetMessage(m, e);
m.transform.localPosition = 1 * msgLocation;
m.DOFade(1, 0.5f);
};
}
else
{
SetMessage(m, e);
Sequence se = DOTween.Sequence();
2021-12-27 09:39:07 +08:00
for (int i = 0; i < msgIndex; i++)
{
var rect = msgs[i].GetComponent<RectTransform>();
2022-01-10 14:58:57 +08:00
se.Join(rect.DOLocalMoveY(rect.localPosition.y - moveOffset, 0.5f));
2021-12-27 09:39:07 +08:00
}
se.Join(m.DOFade(1, 0.5f));
se.Play();
2021-12-27 09:39:07 +08:00
}
2021-12-30 16:51:04 +08:00
m.transform.SetAsLastSibling();
2021-12-27 09:39:07 +08:00
msgIndex++;
}
2021-12-16 16:54:31 +08:00
void FinishMessage(object sender)
{
2021-12-16 16:54:31 +08:00
if (!(bool)sender)
{
2021-12-30 16:51:04 +08:00
//FinishMessage6();
//DOTween.CompleteAll(true);
DOTween.CompleteAll(true);
transform.Find("GameObject").gameObject.SetActive(false);
2021-12-30 16:51:04 +08:00
}
2022-01-10 14:58:57 +08:00
else
2021-12-30 16:51:04 +08:00
{
transform.Find("GameObject").gameObject.SetActive(true);
}
2022-01-10 14:58:57 +08:00
//#if UNITY_STANDALONE_WIN
// if ((bool)sender)
// {
// FinishMessageRight();
// }
// else
// {
// FinishMessageLeft();
// }
//#else
//#endif
}
void FinishMessageLeft()
2021-12-15 18:18:12 +08:00
{
2022-01-11 11:18:09 +08:00
//#if UNITY_STANDALONE_WIN
// msgIndex = 0;
// if (msgs != null)
// {
// foreach (var item in msgs)
// {
// item.DOFade(0, 0.3f);
// }
// }
//#endif
2021-12-15 18:18:12 +08:00
}
2021-12-15 18:18:12 +08:00
private void SetMessage(CanvasGroup m,LinkedMessageEvent e)
{
2021-12-29 14:23:37 +08:00
m.GetComponent<Button>().onClick.RemoveAllListeners();
m.GetComponent<Button>().onClick.AddListener(()=>
{
if (e.routeId > 0)
{
2022-01-07 11:05:32 +08:00
var res = ConfigHelper.mapApi.GetById(e.routeId);
if (res.result)
{
UIManager.ShowStartRideModal(res.data);
}
//UIManager.ShowConfirm(App.GetLocalString("RIDE NOW"), App.GetLocalLanguage() == "zh"? $"<color=#fff>是否要加入</color><color=#f93086>{e.routeName}</color><color=#fff>骑行?</color>" :$"<color=#fff>Join</color> <color=#f93086>{e.routeName}</color><color=#fff>?</color>", () =>
// {
// App.RouteIdParam = e.routeId;
// SceneManager.LoadScene("Ride");
// });
2021-12-29 14:23:37 +08:00
}
//Debug.Log(e.routeId);
});
2021-12-15 18:18:12 +08:00
m.transform.Find("Avatar").GetComponent<RawImage>().texture = null;
Utils.DisplayHead(m.transform.Find("Avatar").GetComponent<RawImage>(), e.avatar);
m.transform.Find("Nickname").GetComponent<Text>().text = e.nickname;
2021-12-30 16:51:04 +08:00
var txt = m.transform.Find("TextContainer/Content").GetComponent<RectTransform>();
txt.GetComponent<Text>().text = e.content;
LayoutRebuilder.ForceRebuildLayoutImmediate(txt);
2022-01-24 15:36:18 +08:00
//Debug.Log(e.content + txt.sizeDelta.x);
m.GetComponent<HomeMessageController>().Initial(txt.sizeDelta.x);
2021-09-13 18:21:43 +08:00
}
CanvasGroup msg;
void fade0()
{
rightMessage.DOFade(0, 0.5f);
}
#endregion
2021-03-25 16:53:39 +08:00
// Start is called before the first frame update
2021-04-23 09:22:12 +08:00
async void Start()
2021-09-23 18:14:53 +08:00
{
2021-04-14 15:02:33 +08:00
UIManager.Instance.Root = root;
UIManager.Instance.MainPanel = this.transform.Find("Panel").GetComponent<PFUIPanel>();
UIManager.Instance.ModalsPanel = this.transform.Find("ModalPanel").GetComponent<PFUIPanel>();
2021-08-26 15:08:02 +08:00
transform.Find("MobileInfo/BatteryText").GetComponent<Text>().text =
$"{Math.Round(SystemInfo.batteryLevel * 100, 0)}%";
transform.Find("MobileInfo/TimeText").GetComponent<Text>().text =
DateTime.Now.ToString("HH:mm");
ShowQueueMessage();
#if UNITY_EDITOR
if (App.CurrentUser == null) //App.CurrentUser == null
2021-04-23 09:22:12 +08:00
{
await Login();
}
#endif
2022-05-31 16:51:07 +08:00
2021-12-17 11:24:24 +08:00
LastRide();//检查本地异常中断的骑行并弹窗提示继续
2021-05-10 10:21:46 +08:00
if (App.MainSceneParam.ContainsKey("Name") && !string.IsNullOrEmpty(App.MainSceneParam["Name"]))
2021-04-14 15:02:33 +08:00
{
UIManager.ShowHomePanel();
2021-12-15 11:08:18 +08:00
UIManager.ShowNewRouteOverviewPanel();
2021-04-25 19:41:35 +08:00
if (App.MainSceneParam["Name"] == "MapListPanel")
2021-04-14 15:02:33 +08:00
{
UIManager.ShowMapListPanel();
}
2021-12-15 11:08:18 +08:00
if (App.MainSceneParam["Name"] == "NewRouteDetail" && App.currentArea != null)
{
2022-05-25 18:40:47 +08:00
UIManager.ShowNewRouteDetailPanel(App.currentArea.Id,App.currentArea.CoverImage);
2021-12-15 11:08:18 +08:00
}
2021-04-23 09:37:41 +08:00
if (App.MainSceneParam["Name"] == "UserInfoPanel")
{
UIManager.ShowUserInfoPanel();
2022-01-10 14:58:57 +08:00
#if UNITY_ANDROID || UNITY_IOS
UIManager.ShowResultListPanel();
2022-01-10 14:58:57 +08:00
#endif
2021-04-23 09:37:41 +08:00
}
if (App.MainSceneParam["Name"] == "RaceHomePanel")
{
UIManager.ShowRaceHomePanel();
}
2021-05-10 10:21:46 +08:00
App.MainSceneParam["Name"] = string.Empty;
2021-04-14 15:02:33 +08:00
}
else
{
UIManager.ShowHomePanel();
2022-02-18 15:48:23 +08:00
if (App.CanOpenAd)
{
2022-02-18 15:48:23 +08:00
App.CanOpenAd = false;
var _r = await ConfigHelper.activityApi.GetCurrentActivityList();
if (_r.result && _r.data != null)
{
2022-02-18 15:48:23 +08:00
var adList = _r.data;
App.adQueue.Clear();
foreach (var _ad in adList)
{
App.adQueue.Enqueue(_ad);
}
if (App.adQueue.Count > 0)
{
var ad = App.adQueue.Dequeue();
UIManager.ShowActivityAdPanel(ad.Id, App.GetLocalLanguage() == "zh" ? ad.DetailUrl : ad.GlobalDetailUrl, ad.Url + $"?Token={App.CurrentUser.cookie}");
}
}
}
2021-12-07 14:37:08 +08:00
//UIManager.ShowNewRouteOverviewPanel();
2021-04-14 15:02:33 +08:00
//UIManager.ShowUserInfoPanel();
//UIManager.ShowEditUserPanel();
//UIManager.ShowBigMapPanel();
2021-04-27 19:47:02 +08:00
//UIManager.ShowEarthPanel();
2021-04-14 15:02:33 +08:00
}
2022-05-25 18:40:47 +08:00
ShowGameRoomInviteConfirm();
2021-11-23 16:27:35 +08:00
UIManager.UpdateJoinCompetition();//查询当前我参加的赛事
//await GetDeviceListAsync(); PC品牌
2021-03-25 16:53:39 +08:00
}
private async Task GetDeviceListAsync()
{
var result = await ConfigHelper.userApi.GetDeviceList();
if (result != null && result.result)
{
App.deviceList = result.data;
}
}
2021-12-15 18:18:12 +08:00
float emptyt = 0;//用于无消息计时
float t = 1f;
2021-09-13 18:21:43 +08:00
float scanTicks = 0;
2022-01-13 22:56:47 +08:00
float clearcachet = 30;
2021-03-25 16:53:39 +08:00
// Update is called once per frame
2021-11-09 11:37:10 +08:00
protected override void Update()
2021-03-25 16:53:39 +08:00
{
2021-11-09 11:37:10 +08:00
base.Update();
2022-01-13 22:56:47 +08:00
2022-05-25 18:40:47 +08:00
if (DataSorceChanged)
{
DataSorceChanged = false;
UIManager.ShowGameRoomDetailPanel();
return;
}
2022-01-13 22:56:47 +08:00
clearcachet -= Time.deltaTime;
if (clearcachet <= 0)
{
Debug.Log("清一次");
Resources.UnloadUnusedAssets();
GC.Collect();
clearcachet = 30;
}
2021-09-23 18:14:53 +08:00
if (App.canvasWidth != transform.GetComponent<RectTransform>().sizeDelta.x)
{
App.canvasWidth = transform.GetComponent<RectTransform>().sizeDelta.x;
2021-12-15 13:24:26 +08:00
//Debug.Log(App.canvasWidth);
2021-09-23 18:14:53 +08:00
}
//Debug.Log(transform.GetComponent<RectTransform>().sizeDelta.x);
t -= Time.deltaTime;
while (t <= 0)
{
2021-07-29 20:01:38 +08:00
App.CurrentScene = "Main";
UIManager.SendCompetitionStartMessage("Main");
t = 1;
2021-09-13 18:21:43 +08:00
scanTicks++;
2021-12-15 18:18:12 +08:00
emptyt++;
if (emptyt >= 10)
{
emptyt = 0;
if (App.currentPageIsHome)
{
FinishMessageLeft();
}
2021-12-15 18:18:12 +08:00
}
2021-09-13 18:21:43 +08:00
if (scanTicks == 10)
{
2021-09-15 14:17:11 +08:00
//App.MainDeviceAdapter.StopScan();
//Debug.Log("StopScan");
2021-09-13 18:21:43 +08:00
}
2022-05-10 19:24:07 +08:00
MapUDPService.Send(0, App.CurrentUser.Id, new double[]{ 0d,0d}, competitionId: 0,model:App.Model);
2021-12-15 13:24:26 +08:00
//发送消息
2021-12-21 10:10:05 +08:00
var list = MapUDPService.GetAllOnlineUserList();
2021-12-24 18:33:58 +08:00
var lang = App.GetLocalLanguage();
2021-12-20 14:44:48 +08:00
foreach (var item in list)
2021-12-15 13:24:26 +08:00
{
if (item.Point != null && item.Point.Length > 0 && item.Point[0] == -1d)
{
var message = lang == "zh" ? $"{item.Name}进入了 运动地球" : "entered PowerFun";
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(-1, message, item.HeadImage, item.Name, item.RouteName), $"{item.Id}{item.LastActiveTime}{item.Point}");
}
2022-01-26 10:24:47 +08:00
if (string.IsNullOrEmpty(item.RouteName))
continue;
2021-12-15 13:24:26 +08:00
if (item.RouteId > 0)
{
2021-12-15 18:18:12 +08:00
var message = "";
if (item.TotalTicks == 0 && item.PreDistance == 0)
2021-12-15 18:18:12 +08:00
{
2022-01-11 16:19:18 +08:00
var routeName = string.IsNullOrEmpty(item.RouteName) ? $"#{item.RouteId}" : item.RouteName;
message = lang=="zh"?$"发起了对<color=#f93086>{routeName}</color>的挑战!" : $"started riding <color=#f93086>{item.RouteName}</color>!";
2021-12-15 18:18:12 +08:00
}
if (item.IsCompleted)
{
2021-12-30 16:51:04 +08:00
message = lang == "zh" ? $"完成了<color=#f93086>{item.RouteName}</color>的挑战!" : $"completed <color=#f93086>{item.RouteName}</color> ride!";
2021-12-15 18:18:12 +08:00
}
2021-12-20 14:44:48 +08:00
if (!string.IsNullOrEmpty(message))
2021-12-15 18:18:12 +08:00
{
2021-12-30 16:51:04 +08:00
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name,item.RouteName), $"{item.RouteId}{item.Name}");
2021-12-15 18:18:12 +08:00
}
2021-12-15 13:24:26 +08:00
}
2021-12-24 18:33:58 +08:00
//距离50
if (item.EndDistance >= 50 && item.EndDistance < 100)
2021-12-15 13:24:26 +08:00
{
2022-01-11 11:18:09 +08:00
var message = lang == "zh" ? $"在<color=#f93086>{item.RouteName}</color>中骑行里程达到<color=#e3d427>{"50KM"}</color>" : $"riding distance reaches <color=#e3d427>{"50KM"}</color> in <color=#f93086>{item.RouteName}</color>!";
2021-12-30 16:51:04 +08:00
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name, item.RouteName), $"{item.RouteId}{item.Name}50KM");
2021-12-15 13:24:26 +08:00
}
2021-12-24 18:33:58 +08:00
//距离100
if (item.EndDistance >= 100)
2021-12-15 13:24:26 +08:00
{
2022-01-11 11:18:09 +08:00
var message = lang == "zh" ? $"在<color=#f93086>{item.RouteName}</color>中骑行里程达到<color=#e3d427>{"100KM"}</color>" : $"riding distance reaches <color=#e3d427>{"100KM"}</color> in <color=#f93086>{item.RouteName}</color>!";
2021-12-30 16:51:04 +08:00
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name, item.RouteName), $"{item.RouteId}{item.Name}100KM");
2021-12-24 18:33:58 +08:00
}
////速度35
//if (item.Speed >= 35)
//{
// var message = lang == "zh" ? $"骑行速度突破<color=#e3d427>{Math.Round(item.Speed, 2)}KM/H</color>" : $"riding speed reaches <color=#e3d427>{Math.Round(item.Speed, 2)}KM/H</color>!";
// EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name, item.RouteName), $"{item.RouteId}{item.Name}35KM/H");
//}
2021-12-24 18:33:58 +08:00
//速度50
if (item.Speed >= 50)
{
2022-01-11 11:18:09 +08:00
var message = lang == "zh" ? $"在<color=#f93086>{item.RouteName}</color>中骑行速度达到<color=#e3d427>{Math.Round(item.Speed,2)}KM/H</color>" : $"riding speed reaches <color=#e3d427>{Math.Round(item.Speed, 2)}KM/H</color> in <color=#f93086>{item.RouteName}</color>!";
2021-12-30 16:51:04 +08:00
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name, item.RouteName), $"{item.RouteId}{item.Name}50KM/H");
2021-12-15 13:24:26 +08:00
}
//功体比
if (item.WeightKg >= 4)
2021-12-15 13:24:26 +08:00
{
2022-01-11 11:18:09 +08:00
var message = lang == "zh" ? $"在<color=#f93086>{item.RouteName}</color>中功体比达到<color=#e3d427>{Math.Round(item.WeightKg, 2)}w/kg</color>" : $" riding PWR reaches <color=#e3d427>{Math.Round(item.WeightKg, 2)}w/kg</color> in <color=#f93086>{item.RouteName}</color>!";
2021-12-30 16:51:04 +08:00
EventQueueSystem.QueueEventOnce(new LinkedMessageEvent(item.RouteId, message, item.HeadImage, item.Name, item.RouteName), $"{item.RouteId}{item.Name}3WeightKg");
2021-12-15 13:24:26 +08:00
}
}
}
2022-01-05 17:40:12 +08:00
2021-12-14 18:10:58 +08:00
}
2021-12-15 18:18:12 +08:00
2021-04-23 09:22:12 +08:00
private async Task Login()
{
var result = await ConfigHelper.userApi.Login("13115011550", "laozhong", "");
App.CurrentUser = result.data;
}
/// <summary>
/// 检查上次异常中断的骑行
/// </summary>
private void LastRide()
{
var tempFileList = System.IO.Directory.GetFiles(PFConstants.MapWorkoutRecordTempFolder);
if (tempFileList.Length > 0)
{
var tempFile = tempFileList[0];
var content = System.IO.File.ReadAllText(tempFile);
if (!string.IsNullOrEmpty(content))
{
var tempRecordData = Newtonsoft.Json.JsonConvert.DeserializeObject<TempRecordData>(content);
App.tempRecordData = tempRecordData;
if (App.tempRecordData.UserId == App.CurrentUser.Id)
{
UIManager.ShowConfirm(App.GetLocalString("Reconnect"), App.GetLocalString("Did you want to reconnect the trip that was interrupted abnormally?"), () =>
{
App.RouteIdParam = App.tempRecordData.RouteId;
App.CompetionId = App.tempRecordData.CompetitionId;
SceneManager.LoadScene("Ride");
}, 2, () =>
{
Helper.DelectDir(PFConstants.MapWorkoutRecordTempFolder);
App.tempRecordData = null;
});
}
}
}
}
2022-05-25 18:40:47 +08:00
//检查剪切板内容进入对战房间
private void ShowGameRoomInviteConfirm()
{
var clipContent = Utils.GetClipboard();
if (!string.IsNullOrEmpty(clipContent) && App.currentPageIsHome)
{
//GameRoom/{App.CurrentUser.Nickname}/{manager.GameRoom.Name}/{manager.GameRoom.RoomId}
var code = EncrypHelper.Decrypt(clipContent);
if (string.IsNullOrEmpty(code))
return;
var arr = code.Split('/');
var userName = arr[1];
var roomName = arr[2];
var roomId = Convert.ToInt32(arr[3]);
var content = $"{userName} {App.GetLocalString("invite you to join in")} {roomName} , {App.GetLocalString("are you accept the invitation?")}";
UIManager.ShowConfirm(App.GetLocalString("Invitition"), content, () => {
UIManager.CloseConfirm();
App.Model = "GameRoom";
MapUDPService.SendJoinGameRoom(roomId, App.CurrentUser.Id, UIManager.Now.GetDateTime().ToUniversalTime());
MapUDPService.SendQueryGameRoomList(App.CurrentUser.Id, 0, 1, arr[3]);
});
Utils.CopyToClipboard("");
}
}
private void OnDestroy()
{
2021-12-21 10:10:05 +08:00
EventQueueSystem.RemoveListener<LinkedMessageEvent>(LinkedMessageHandler);
App.isHomeChanged -= OnIsHomeChanged;
}
2021-03-25 16:53:39 +08:00
}