Ant+代码混淆
This commit is contained in:
parent
191efae2dd
commit
16cd2fd26b
@ -216,6 +216,12 @@ MonoBehaviour:
|
||||
obfuscateSpecifiedNamespacesRecursively: 1
|
||||
obfuscateNamespaces:
|
||||
- Assets.AR
|
||||
- Assets.Scripts.Devices.Ant
|
||||
- Assets.Scripts.Devices.Ant.Interfaces
|
||||
- Assets.Scripts.Devices.Ant.LegacyPages
|
||||
- Assets.Scripts.Devices.Ant.Messages
|
||||
- Assets.Scripts.Devices.Ant.Pages.CalibrationPages
|
||||
- Assets.Scripts.Devices.Ant.Pages
|
||||
replaceLiteralsOnSkippedClasses: 1
|
||||
obfuscateUnityReflectionMethods: 1
|
||||
inheritBeebyteAttributes: 0
|
||||
|
||||
@ -266,20 +266,18 @@ namespace Assets.Scripts.Devices.Ant
|
||||
if (response.messageContents.Length == 3) return;
|
||||
var str = string.Join(",", response.messageContents);
|
||||
|
||||
var cc = usedChannels.Where(d => d.Index == channelIndex).FirstOrDefault();
|
||||
var dd = discoveredDevices.SingleOrDefault(d => d.searchProfile.deviceNumber.ToString() == cc.DeviceNumber && d.searchProfile.deviceType.ToString() == cc.DeviceTypeId);
|
||||
if (dd != null)
|
||||
var cc = usedChannels.FirstOrDefault(d => d.Index == channelIndex);
|
||||
var dd = discoveredDevices.SingleOrDefault(d => cc != null && d.searchProfile.deviceNumber.ToString() == cc.DeviceNumber && d.searchProfile.deviceType.ToString() == cc.DeviceTypeId);
|
||||
if (dd == null) return;
|
||||
if (dd.State == DeviceState.Connecting)
|
||||
{
|
||||
if (dd.State == DeviceState.Connecting)
|
||||
{
|
||||
dd.State = DeviceState.Connected;
|
||||
//IsBackgroundScanning = true;
|
||||
//ReSearch();
|
||||
//StartNextSearch();
|
||||
return;
|
||||
}
|
||||
dd.handleChannelResponse(response);
|
||||
dd.State = DeviceState.Connected;
|
||||
//IsBackgroundScanning = true;
|
||||
//ReSearch();
|
||||
//StartNextSearch();
|
||||
return;
|
||||
}
|
||||
dd.handleChannelResponse(response);
|
||||
}
|
||||
|
||||
public bool SendMessage(byte msgID, byte[] msgData)
|
||||
|
||||
@ -44,18 +44,25 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
private GameObject OnlinePlayer_NV;
|
||||
|
||||
private bool isStop { get; set; }
|
||||
|
||||
|
||||
VideoLoading videoLoading { get; set; }
|
||||
//当前是第一人称还是第三人称
|
||||
public ViewMode _viewMode { get; set; }
|
||||
//当前是观察者视角还是骑行者视角
|
||||
public ARMode _aRMode { get; set; }
|
||||
public int RankingId { get; set; }
|
||||
|
||||
public Dictionary<IRider, PlayerRenderer> rideObjs = new Dictionary<IRider, PlayerRenderer>();
|
||||
|
||||
private VideoUIManager _uiManager { get; set; }
|
||||
private ARTrainingController _trainingController { get; set; }
|
||||
public List<AbstractVideoPlayer> visibleRiders = new List<AbstractVideoPlayer>();//当前线路上的人
|
||||
private const int limits = 5;//在线的其他人数
|
||||
private double MaxVisibleDistance = 200d;//最大显示距离
|
||||
float timer = 0f;
|
||||
int ticks = 0;
|
||||
MapRouteRankingList rankingList;
|
||||
public GameObject videoPlayer;
|
||||
public GameObject target;
|
||||
public int CurrentUserId { get; set; }
|
||||
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
@ -73,10 +80,12 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
OnlinePlayer_NV = Resources.Load<GameObject>("UI/Prefab/AR/OnlineVideoPlayer_NV");
|
||||
Player = Resources.Load<GameObject>("UI/Prefab/AR/VidePlayer");
|
||||
Player_NV = Resources.Load<GameObject>("UI/Prefab/AR/VidePlayer_NV");
|
||||
|
||||
_trainingController = GetComponent<ARTrainingController>();
|
||||
StartCoroutine(Init());
|
||||
}
|
||||
|
||||
void Start()
|
||||
private void Start()
|
||||
{
|
||||
UIManager.Instance.MainPanel = GetCanvasTransform().GetComponent<PFUIPanel>();
|
||||
UIManager.Instance.ModalsPanel = this.transform.Find("Canvas/ModalPanel").GetComponent<PFUIPanel>();
|
||||
@ -110,8 +119,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
yield return null;
|
||||
videoLoading.Init();//初始化loading页面
|
||||
}
|
||||
float timer = 0f;
|
||||
int ticks = 0;
|
||||
|
||||
protected override void Update()
|
||||
{
|
||||
timer -= Time.deltaTime;
|
||||
@ -119,23 +127,17 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
if (cyclingController == null)
|
||||
return;
|
||||
cyclingController.Run(null);
|
||||
var onlineRiders = cyclingController.riders;
|
||||
|
||||
try
|
||||
{
|
||||
CreateOnlineUser(onlineRiders);
|
||||
cyclingController.Run(null);//发送数据到tcp
|
||||
|
||||
var onlineRiders = cyclingController.riders;
|
||||
CreateOnlineUser(onlineRiders); //解析tcp返回数据
|
||||
|
||||
if (isStart)
|
||||
{
|
||||
var riders = FindObjectsOfType<OnlineVideoPlayer>();
|
||||
foreach (var rider in riders)
|
||||
{
|
||||
rider.StartAction();
|
||||
}
|
||||
//解决当前用户setActive(false)时仍能计算数据
|
||||
if (CurrentPlayer != null && CurrentPlayer is VideoPlayer)
|
||||
{
|
||||
CurrentPlayer.StartAction();
|
||||
}
|
||||
ComputePlayerRuntimeData();
|
||||
ticks++;
|
||||
}
|
||||
}
|
||||
@ -146,7 +148,22 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
timer += 1f;
|
||||
}
|
||||
}
|
||||
MapRouteRankingList rankingList;
|
||||
|
||||
//计算骑手的数据
|
||||
private void ComputePlayerRuntimeData()
|
||||
{
|
||||
var riders = FindObjectsOfType<OnlineVideoPlayer>();
|
||||
foreach (var rider in riders)
|
||||
{
|
||||
rider.StartAction();
|
||||
}
|
||||
//解决当前用户setActive(false)时仍能计算数据
|
||||
if (CurrentPlayer != null && CurrentPlayer is VideoPlayer)
|
||||
{
|
||||
CurrentPlayer.StartAction();
|
||||
}
|
||||
}
|
||||
|
||||
public MapRouteRankingList GetRankingList(string type = "month")
|
||||
{
|
||||
var endTime = UIManager.Now == null ? DateTime.Now : UIManager.Now.GetDateTime();
|
||||
@ -159,55 +176,58 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
return rankingList;
|
||||
}
|
||||
|
||||
public List<AbstractVideoPlayer> visibleRiders = new List<AbstractVideoPlayer>();//当前线路上的人
|
||||
private const int limits = 5;//在线的其他人数
|
||||
private double MaxVisibleDistance = 200d;//最大显示距离
|
||||
//创建当前线路其他选手
|
||||
private void CreateOnlineUser(List<BaseRider> list)
|
||||
{
|
||||
list = list.Where(c => ((OnlineRiderModel)c).IsWatcher == false).ToList();
|
||||
list = list.Where(c => ((OnlineRiderModel)c).IsWatcher == false).OrderByDescending(c => c.IsSelf).ToList();
|
||||
//断网移除所有用户
|
||||
if (list == null || list.Count == 0)
|
||||
if (list.Count == 0)
|
||||
{
|
||||
foreach (var item in visibleRiders)
|
||||
{
|
||||
Debug.Log($"销毁了{item}");
|
||||
DestroyImmediate(item.gameObject);
|
||||
}
|
||||
rideObjs.Clear();
|
||||
visibleRiders.Clear();
|
||||
CurrentPlayer = null;
|
||||
ClearRiders();
|
||||
return;
|
||||
}
|
||||
var trainController = GetComponent<ARTrainingController>();
|
||||
//移除退出的选手
|
||||
var players = FindObjectsOfType<OnlineVideoPlayer>();
|
||||
foreach (var item in players)
|
||||
{
|
||||
var currentItem = list.FirstOrDefault(c => c.UserId == item.UserId);
|
||||
if (currentItem == null)
|
||||
{
|
||||
rideObjs.Remove(item);
|
||||
visibleRiders.Remove(item);
|
||||
}
|
||||
}
|
||||
var currentPlayerInfo = list.FirstOrDefault(c => c.IsSelf);
|
||||
var needUpdateList = list.OrderByDescending(c => c.IsSelf).ToList();
|
||||
|
||||
//删除离开的用户
|
||||
RemovePlayers(list);
|
||||
//如果当前为观察者模式且currentPlayerInfo为null随机选择以为用户观察
|
||||
if (currentPlayerInfo == null)
|
||||
{
|
||||
currentPlayerInfo = needUpdateList.FirstOrDefault(c => c.UserId == CurrentUserId);
|
||||
if(currentPlayerInfo == null)
|
||||
currentPlayerInfo = needUpdateList.FirstOrDefault();
|
||||
}
|
||||
var current = DefaultCurrentPlayer(list);
|
||||
//更新和新增用户
|
||||
foreach (var item in needUpdateList)
|
||||
UpdateRiders(list, current);
|
||||
}
|
||||
|
||||
//断网清空当前线路所有用户
|
||||
private void ClearRiders()
|
||||
{
|
||||
foreach (var item in visibleRiders)
|
||||
{
|
||||
DestroyImmediate(item.gameObject);
|
||||
}
|
||||
rideObjs.Clear();
|
||||
visibleRiders.Clear();
|
||||
CurrentPlayer = null;
|
||||
}
|
||||
|
||||
//默认当前用户1.当前骑行模式下是当前用户 2.观察者模式下随机第一个用户
|
||||
private BaseRider DefaultCurrentPlayer(List<BaseRider> list)
|
||||
{
|
||||
var current = CurrentUserId == 0 ? list.FirstOrDefault() : list.FirstOrDefault(c => c.UserId == CurrentUserId);
|
||||
|
||||
if(CurrentUserId == 0 && current != null)
|
||||
CurrentUserId = current.UserId;
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
private void UpdateRiders(List<BaseRider> list,BaseRider current)
|
||||
{
|
||||
//更新和新增用户
|
||||
foreach (var item in list)
|
||||
{
|
||||
var onlineRider = item as OnlineRiderModel;
|
||||
var visibleItem = visibleRiders.FirstOrDefault(c => c.UserId == item.UserId);
|
||||
if (visibleItem != null)
|
||||
{
|
||||
visibleItem.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
|
||||
visibleItem.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, current.EndDistance, onlineRider.FrameRate.Value);
|
||||
if (visibleItem.userId == CurrentUserId)
|
||||
{
|
||||
CurrentPlayer = visibleItem;
|
||||
@ -215,70 +235,84 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
}
|
||||
else
|
||||
{
|
||||
var diff = item.EndDistance % mapData.TotalDistance - currentPlayerInfo.EndDistance % mapData.TotalDistance;
|
||||
if (Math.Abs(diff * 1000) <= MaxVisibleDistance)
|
||||
var distance = item.EndDistance % mapData.TotalDistance - current.EndDistance % mapData.TotalDistance;
|
||||
if (!(Math.Abs(distance * 1000) <= MaxVisibleDistance)) continue;
|
||||
|
||||
if (item.IsSelf)
|
||||
{
|
||||
GameObject obj = null;
|
||||
if (!item.IsSelf)
|
||||
{
|
||||
if (onlineRider.Sex == 1)
|
||||
{
|
||||
obj = Instantiate(OnlinePlayer, transform);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = Instantiate(OnlinePlayer_NV, transform);
|
||||
}
|
||||
var online = obj.GetComponentInChildren<OnlineVideoPlayer>();
|
||||
var rideObj = obj.GetComponentInChildren<PlayerRenderer>();
|
||||
online.SetStartDistance(item.EndDistance);
|
||||
rideObj.Distance = (float)online.StartDistance;
|
||||
rideObj.RouteDistance = rideObj.Distance;
|
||||
rideObj.UserId = item.UserId;
|
||||
rideObjs.Add(online, rideObj);
|
||||
visibleRiders.Add(online);
|
||||
trainController.AddRider(onlineRider);
|
||||
online.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
|
||||
if (online.userId == CurrentUserId)
|
||||
{
|
||||
CurrentPlayer = visibleItem;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (App.CurrentUser.Sex == 1)
|
||||
{
|
||||
var playerprefab = Resources.Load<GameObject>("UI/Prefab/AR/VidePlayer");
|
||||
videoPlayer = Instantiate(playerprefab, transform);
|
||||
}
|
||||
else
|
||||
{
|
||||
var playerprefabNV = Resources.Load<GameObject>("UI/Prefab/AR/VidePlayer_NV");
|
||||
videoPlayer = Instantiate(playerprefabNV, transform);
|
||||
}
|
||||
|
||||
CurrentUserId = App.CurrentUser.Id;
|
||||
CurrentPlayer = videoPlayer.GetComponent<AbstractVideoPlayer>();
|
||||
|
||||
var vp = videoPlayer.GetComponent<VideoPlayer>();
|
||||
vp.SetEndDistance(item.EndDistance);
|
||||
CurrentPlayer.SetStartDistance(item.EndDistance);
|
||||
|
||||
var rideObj = videoPlayer.GetComponent<PlayerRenderer>();
|
||||
rideObj.Distance = (float)CurrentPlayer.StartDistance;
|
||||
rideObj.RouteDistance = rideObj.Distance;
|
||||
rideObj.IsMain = true;
|
||||
rideObj.UserId = item.UserId;
|
||||
rideObjs.Add(CurrentPlayer, rideObj);
|
||||
visibleRiders.Add(CurrentPlayer);
|
||||
|
||||
CurrentPlayer.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
|
||||
}
|
||||
CreateVideoPlayer(onlineRider,item,current);
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateOnlinePlayer(onlineRider,item,visibleItem,current);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateOnlinePlayer(OnlineRiderModel onlineRider,BaseRider item,AbstractVideoPlayer visibleItem,BaseRider current)
|
||||
{
|
||||
var obj = CreatePlayerGameObject(false, onlineRider.Sex == 1);
|
||||
|
||||
var online = obj.GetComponentInChildren<OnlineVideoPlayer>();
|
||||
var rideObj = obj.GetComponentInChildren<PlayerRenderer>();
|
||||
online.SetStartDistance(item.EndDistance);
|
||||
|
||||
rideObj.Distance = (float)online.StartDistance;
|
||||
rideObj.RouteDistance = rideObj.Distance;
|
||||
rideObj.UserId = item.UserId;
|
||||
|
||||
rideObjs.Add(online, rideObj);
|
||||
visibleRiders.Add(online);
|
||||
|
||||
_trainingController.AddRider(onlineRider);
|
||||
online.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, current.EndDistance, onlineRider.FrameRate.Value);
|
||||
|
||||
if (online.userId == CurrentUserId)
|
||||
{
|
||||
CurrentPlayer = visibleItem;
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateVideoPlayer(OnlineRiderModel onlineRider,BaseRider item,BaseRider current)
|
||||
{
|
||||
videoPlayer = CreatePlayerGameObject(true, App.CurrentUser.Sex == 1);
|
||||
CurrentUserId = App.CurrentUser.Id;
|
||||
CurrentPlayer = videoPlayer.GetComponent<AbstractVideoPlayer>();
|
||||
|
||||
var vp = videoPlayer.GetComponent<VideoPlayer>();
|
||||
vp.SetEndDistance(item.EndDistance);
|
||||
CurrentPlayer.SetStartDistance(item.EndDistance);
|
||||
|
||||
var rideObj = videoPlayer.GetComponent<PlayerRenderer>();
|
||||
rideObj.Distance = (float)CurrentPlayer.StartDistance;
|
||||
rideObj.RouteDistance = rideObj.Distance;
|
||||
rideObj.IsMain = true;
|
||||
rideObj.UserId = item.UserId;
|
||||
rideObjs.Add(CurrentPlayer, rideObj);
|
||||
visibleRiders.Add(CurrentPlayer);
|
||||
CurrentPlayer.SetPlayer(onlineRider.NickName, onlineRider.Speed, onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, current.EndDistance, onlineRider.FrameRate.Value);
|
||||
}
|
||||
|
||||
private GameObject CreatePlayerGameObject(bool self,bool isMale)
|
||||
{
|
||||
return self ? Instantiate(isMale ? Player : Player_NV, transform) : Instantiate(isMale ? OnlinePlayer : OnlinePlayer_NV, transform);
|
||||
}
|
||||
|
||||
//移除退出的选手
|
||||
private void RemovePlayers(List<BaseRider> list)
|
||||
{
|
||||
|
||||
var players = FindObjectsOfType<OnlineVideoPlayer>();
|
||||
foreach (var item in players)
|
||||
{
|
||||
var currentItem = list.FirstOrDefault(c => c.UserId == item.UserId);
|
||||
if (currentItem != null) continue;
|
||||
rideObjs.Remove(item);
|
||||
visibleRiders.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
//设置当前是骑行模式还是观察模式
|
||||
public void SetCurrentMode(ARMode aRMode)
|
||||
{
|
||||
@ -294,9 +328,6 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
SetCyclingModel(CyclingModel.Single);
|
||||
}
|
||||
}
|
||||
public GameObject videoPlayer;
|
||||
public GameObject target;
|
||||
public int CurrentUserId { get; set; }
|
||||
//切换人物
|
||||
public void ChangePlayer(int userId)
|
||||
{
|
||||
|
||||
@ -1009,6 +1009,8 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
//新增或者更新
|
||||
foreach (var item in onlineRiders)
|
||||
{
|
||||
if(item.IsSelf) continue;
|
||||
|
||||
var onlineRider = item as OnlineRiderModel;
|
||||
var currentUser = currentOnlineUserList.FirstOrDefault(c => c.UserId == item.UserId);
|
||||
var onlineDistance = onlineRider.EndDistance - onlineRider.PreDistance;
|
||||
|
||||
@ -11,10 +11,10 @@ EditorBuildSettings:
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/MainScene.unity
|
||||
guid: ab586a3c1bacd4a48a55178eb06fe0cc
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/Ride.unity
|
||||
guid: d9f6ee75d0d54714fb4d2f90016a28bc
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/VideoPlay.unity
|
||||
guid: f25b9f482e27079448d130ae1ed0ea34
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/Ride.unity
|
||||
guid: d9f6ee75d0d54714fb4d2f90016a28bc
|
||||
m_configObjects: {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user