海拔图区间微调,消息面板&线路等微调

This commit is contained in:
lishuo 2021-05-13 17:48:28 +08:00
parent b694a69f16
commit 46cc231fe7
19 changed files with 3604 additions and 3034 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: fef96814635c8b54b8621d82278649b3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,100 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: 3
m_Shader: {fileID: 4800000, guid: 818b0e872599e3948b6cceff71a30540, type: 3}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 9959c8d64e68c9b49a96dd9de08c4315, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Ramp:
m_Texture: {fileID: 2800000, guid: a4cdca73d61814d33ac1587f6c163bca, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ToonShade:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Angle: 180
- _BumpScale: 1
- _ChartTiling: 1
- _ColorMask: 15
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Outline: 0.005
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 0
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _Tiling: 1
- _UVSec: 0
- _UseUIAlphaClip: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 0}
- _ColorFrom: {r: 1, g: 1, b: 1, a: 0.6509804}
- _ColorTo: {r: 1, g: 1, b: 1, a: 0.6509804}
- _Combine: {r: 1, g: 1, b: 1, a: 0.6509804}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bfb3e428f0c851243974e41761833fb2
timeCreated: 1500387811
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -31,6 +31,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 515512715492064071}
- {fileID: 959555308160526461}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -174,3 +175,91 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
radius: 10.5
--- !u!1 &7858757397756306534
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 959555308160526461}
- component: {fileID: 1725904223754157555}
- component: {fileID: 4218035729129685602}
- component: {fileID: 7077266334615153541}
m_Layer: 5
m_Name: DefaultHead
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &959555308160526461
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7858757397756306534}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 515512715299283612}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 2.0000305, y: 2.0000143}
m_SizeDelta: {x: 21, y: 21}
m_Pivot: {x: 0, y: 0}
--- !u!222 &1725904223754157555
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7858757397756306534}
m_CullTransparentMesh: 0
--- !u!114 &4218035729129685602
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7858757397756306534}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 10.5
--- !u!114 &7077266334615153541
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7858757397756306534}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: d0c64427b3fee1c43b1029096f236331, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@ -119,8 +119,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -57.02, y: 14}
m_SizeDelta: {x: 59.95099, y: 17}
m_AnchoredPosition: {x: -59.91, y: 14}
m_SizeDelta: {x: 65.732025, y: 17}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8527166219890014554
CanvasRenderer:
@ -162,7 +162,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 0k/w
m_Text: 00.00W/KG
--- !u!1 &4351825891595637247
GameObject:
m_ObjectHideFlags: 0

View File

@ -145,10 +145,10 @@ MonoBehaviour:
m_Alignment: 5
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 0k/w
m_Text: 0W/KG
--- !u!1 &4351825891595637247
GameObject:
m_ObjectHideFlags: 0

View File

@ -31,6 +31,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 515512715492064071}
- {fileID: 685146294485746414}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -174,3 +175,91 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
radius: 10.5
--- !u!1 &2069465055297021882
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 685146294485746414}
- component: {fileID: 6964437383665311935}
- component: {fileID: 3864835530241863395}
- component: {fileID: 532451459818130565}
m_Layer: 5
m_Name: DefaultHead
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &685146294485746414
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2069465055297021882}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 515512715299283612}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 2.0000305, y: 2.0000143}
m_SizeDelta: {x: 21, y: 21}
m_Pivot: {x: 0, y: 0}
--- !u!222 &6964437383665311935
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2069465055297021882}
m_CullTransparentMesh: 0
--- !u!114 &3864835530241863395
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2069465055297021882}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adb30198aa32dd140b5750692dd48104, type: 3}
m_Name:
m_EditorClassIdentifier:
radius: 10.5
--- !u!114 &532451459818130565
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2069465055297021882}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: d0c64427b3fee1c43b1029096f236331, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@ -34,8 +34,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 182, y: -33}
m_SizeDelta: {x: 48, y: 14}
m_AnchoredPosition: {x: 185.41, y: -33}
m_SizeDelta: {x: 54.83954, y: 14}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6689447652737097173
CanvasRenderer:

File diff suppressed because it is too large Load Diff

View File

@ -133,19 +133,7 @@ namespace Assets.Scenes.Ride.Scripts
//开始骑行
if (GetStart())
{
//计算累计爬升
if (index > 0)
{
totalClimb = 0;
for (int i = 1; i <= index; i++)
{
var diff = mapData.List[i].Elevation - mapData.List[i - 1].Elevation;
if (diff > 0)
{
totalClimb += diff;
}
}
}
ticks++;
Compute();//接受蓝牙设备数据计算
@ -164,7 +152,7 @@ namespace Assets.Scenes.Ride.Scripts
prePos = transform.localPosition;//当前点
thisRotation = transform.localRotation;
//移动动画控制
//if (distance > 0)
if (distance > 0)
{
StartCoroutine(MoveTo());//移动
}
@ -234,7 +222,7 @@ namespace Assets.Scenes.Ride.Scripts
nextSlope = pointList[nextIndex].Grade;
nextSlopeDistance = sumDistance - totalDistance * 1000;
NextSlopeTotalDistance = pointList[nextIndex].Distance;
currentSlopeDistance = CurrentDistance-( totalDistance * 1000 - (sumDistance - pointList[index].Distance));
currentSlopeDistance = (totalDistance * 1000 - (sumDistance - pointList[index].Distance));// CurrentDistance-( totalDistance * 1000 - (sumDistance - pointList[index].Distance));
}
public double PreElevation;
public double PreSlope;
@ -280,11 +268,11 @@ namespace Assets.Scenes.Ride.Scripts
t += Time.deltaTime;
Vector3 v = Vector3.Lerp(prePos, nextPos, t);
Vector3 nextPosition = new Vector3((float)Math.Round(v.x, 2), (float)Math.Round(v.y, 2), (float)Math.Round(v.z, 2));
if (!nextPosition.Equals(transform.localPosition))
//Vector3 nextPosition = new Vector3((float)Math.Round(v.x, 2), (float)Math.Round(v.y, 2), (float)Math.Round(v.z, 2));
//if (!nextPosition.Equals(transform.localPosition))
{
currentPos = nextPosition;
transform.localPosition = nextPosition;
currentPos = v;
transform.localPosition = v;
//Camera.main.transform.localPosition = nextPosition;
}
yield return new WaitForEndOfFrame();

View File

@ -36,7 +36,7 @@ public class CyclingController : DeviceServiceMonoBase
private MapRoute mapRoute;//当前路书数据
private MapDataModel mapData;//当前路书数据
private Route route;//当前路书综合数据
public List<MapRouteRanking> mapRouteRankingList;
public List<MapRouteRanking> mapRouteRankingList { get; set; }
private Vector2d coordiantes;//当前地图中心
public bool isStart;//当前游戏是否开始
@ -176,9 +176,14 @@ public class CyclingController : DeviceServiceMonoBase
var list = mapApi.GetRouteRanking(App.RouteIdParam, "1", 0, 10, "");
if (list.result)
{
mapRouteRankingList = list.data.list;
loadingController.CreateRankingList(mapRouteRankingList);
loadingController.AddProcess(10);
loadingController.CreateRankingList(list.data.list);
loadingController.AddProcess(5);
}
var shaowList = mapApi.GetShadowList(App.RouteIdParam, "", 0, 10);
if (shaowList.result)
{
mapRouteRankingList = shaowList.data.list;
loadingController.AddProcess(5);
}
}
//加载人物和地图以及UI界面
@ -264,11 +269,11 @@ public class CyclingController : DeviceServiceMonoBase
GameObject onlineUserPrefab;
GameObject miniMapPlayerPrefab;
int messageIndex = 0;
private void ShowOnlineUsers()
{
var onlineRiders = cyclingController.riders;
List<OnlinePlayerController> currentOnlineUserList = new List<OnlinePlayerController>();
currentOnlineUserList.AddRange(FindObjectsOfType<OnlinePlayerController>());
var currentOnlineUserList = FindObjectsOfType<OnlinePlayerController>();
//新增或者更新
foreach (var item in onlineRiders)
{
@ -276,30 +281,35 @@ public class CyclingController : DeviceServiceMonoBase
var currentUser = currentOnlineUserList.Where(c => c.UserId == item.UserId).FirstOrDefault();
var onlineDistance = onlineRider.EndDistance - onlineRider.PreDistance;
var onlineTotalDistance = onlineRider.EndDistance;
if (currentUser == null)
{
//for (int i = 0; i < 100; i++)
//大地图人物
GameObject otherPlayerObj = (GameObject)Instantiate(onlineUserPrefab, transform);
otherPlayerObj.transform.position = map.GeoToWorldPosition(Along(onlineTotalDistance));
var onlinePlayerController = otherPlayerObj.GetComponent<OnlinePlayerController>();
otherList.Add(onlinePlayerController);
onlinePlayerController.UserId = onlineRider.UserId;
//onlinePlayerController.SetDistance(onlineDistance);
onlinePlayerController.SetDataSource(onlineTotalDistance, onlineDistance, onlineRider.NickName, onlineRider.WeightKg);
onlinePlayerController.SetHead(onlineRider.WxHeadImg);
//小地图人物
GameObject miniPlayer = (GameObject)Instantiate(miniMapPlayerPrefab, transform);
var miniController = miniPlayer.GetComponent<MiniMapPlayerController>();
miniController.SetController(onlinePlayerController);
EventQueueSystem.QueueEvent(new JoinMessageEvent(onlineRider.NickName, onlineRider.WxHeadImg));
//发消息xx进入路书
if(messageIndex > 0)
EventQueueSystem.QueueEvent(new JoinMessageEvent(onlineRider.NickName, onlineRider.WxHeadImg));
}
else
{
currentUser.SetDataSource(onlineTotalDistance, onlineDistance, onlineRider.NickName, onlineRider.WeightKg);
}
}
if(onlineRiders.Count > 0)
messageIndex++;
//移除
foreach (var item in currentOnlineUserList)
{

View File

@ -28,7 +28,7 @@ namespace Assets.Scenes.Ride.Scripts
Name = e.name;
url = e.url;
}
float timer = 1f;
float timer = 2f;
private void Update()
{
timer -= Time.deltaTime;
@ -37,27 +37,19 @@ namespace Assets.Scenes.Ride.Scripts
if (!string.IsNullOrEmpty(Name))
{
text.text = Name;
canvas.DOFade(1, 1);
canvas.DOFade(1, 2);
Name = string.Empty;
}
else
{
canvas.DOFade(0, 1);
canvas.DOFade(0, 2);
}
if (!string.IsNullOrEmpty(url))
{
Utils.DisplayImage(head, url, false);
url = string.Empty;
}
//dic.
//foreach (var item in dic)
//{
// text.text = item.Key;
// Utils.DisplayImage(head, item.Value, true);
// dic.Remove(item.Key);
// break;
//}
timer = 1.0f;
timer = 2.0f;
}
}
}

View File

@ -1,5 +1,6 @@
using DG.Tweening;
using System;
using System.Collections;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
@ -28,24 +29,27 @@ namespace Assets.Scenes.Ride.Scripts
{
text.text = string.Format(format, totalDistance);
index = currentIndex;
mOldScore = 0;
process.fillAmount = 0;
process.fillAmount = 1;
StartCoroutine(CompleteFill(process));
}
else
{
mScoreSequence.Append(DOTween.To(delegate (float value)
{
//if (value != newScore)
{
temp = Math.Round(value, digit);
process.fillAmount = ((float)temp / (float)totalDistance);
//向Text组件赋值
text.text = string.Format(format, temp);
}
temp = Math.Round(value, digit);
process.fillAmount = (float)(value / totalDistance);
//向Text组件赋值
text.text = string.Format(format, temp);
}, mOldScore, newScore, 1f));
//将更新后的值记录下来, 用于下一次滚动动画
mOldScore = newScore;
}
}
IEnumerator CompleteFill(Image process)
{
yield return new WaitForSeconds(0.3f);
mOldScore = 0;
process.fillAmount = 0;
}
}
}

View File

@ -48,13 +48,10 @@ namespace Assets.Scenes.Ride.Scripts
protected override void Compute()
{
currentlatlong = mainController.Along(totalDistance);//下一个坐标
//var currentUser = cyclingExcutor?.riders.Where(c => c.UserId == UserId).FirstOrDefault();
//if (currentUser == null)
//{
// RemoveSelf();
//}
diff = Math.Round((totalDistance - _playerController.TotalDistance) * 1000, 0);
}
double diff = 0;
public void SetDataSource(double _totalDistance, double _distance,string Name,double weightKg)
{
totalDistance = _totalDistance;
@ -108,6 +105,10 @@ namespace Assets.Scenes.Ride.Scripts
{
Utils.DisplayImage(head, headUrl, true);
}
else
{
headPanel.transform.Find("DefaultHead").gameObject.SetActive(true);
}
}
headPanel.transform.DOMove(new Vector3(itemPosition.x, itemPosition.y, 0), 1);
@ -119,7 +120,7 @@ namespace Assets.Scenes.Ride.Scripts
{
infoPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/OnlineInfoPanel"), uiObject);
}
var infoPos = playerScreenPos + new Vector3(100f, 60f, 0f);
var infoPos = playerScreenPos + new Vector3(150f, 60f, 0f);
((RectTransform)infoPanel.transform).position = infoPos;
CreateInfoLine(playerScreenPos, infoPos);
var infoHead = infoPanel.transform.Find("Head").GetComponent<RawImage>();
@ -133,7 +134,7 @@ namespace Assets.Scenes.Ride.Scripts
var infoDistance = infoPanel.transform.Find("Distance").GetComponent<Text>();
if (_playerController != null)
{
infoDistance.text = ((totalDistance - _playerController.TotalDistance ) * 1000).ToString("f0") + "M";
infoDistance.text = diff > 0? $"+{diff}M" : $"{diff}M";
}
var infoWKG = infoPanel.transform.Find("WKG").GetComponent<Text>();
infoWKG.text = weightKgStr;
@ -144,9 +145,12 @@ namespace Assets.Scenes.Ride.Scripts
public void RemoveSelf()
{
headPanel?.SetActive(false);
//transform.gameObject.SetActive(false);
infoPanel?.SetActive(false);
//headPanel?.SetActive(false);
arrowImage.gameObject.SetActive(false);
headPanel?.Destroy();
infoPanel?.Destroy();
transform.gameObject.Destroy();
//infoPanel?.SetActive(false);
//transform.DestroyChildren();
}
@ -179,7 +183,7 @@ namespace Assets.Scenes.Ride.Scripts
_directionsGO.Destroy();
}
startPos = Camera.main.ScreenToWorldPoint(startPos);
endPos.x -= 50f;
endPos.x -= 120f;
endPos = Camera.main.ScreenToWorldPoint(endPos);
_directionsGO = new GameObject("InfoLinerender");

View File

@ -36,6 +36,8 @@ namespace Assets.Scenes.Ride.Scripts
arrowImage = Instantiate(Resources.Load<Image>("UI/Prefab/Ride/ReviewArrow"), uiObject);
}
double diff = 0;
protected override void Compute()
{
if (tickOffset + ticks < record.Length)
@ -55,7 +57,7 @@ namespace Assets.Scenes.Ride.Scripts
totalDistance = data._Distance;
}
currentlatlong = mainController.Along(totalDistance);//下一个坐标
var diff = Math.Round(totalDistance - _playerController.TotalDistance, 3) * 1000;
diff = Math.Round((totalDistance - _playerController.TotalDistance) *1000, 0);
_reviewItemScript.SetDistance(diff);
}
@ -86,7 +88,7 @@ namespace Assets.Scenes.Ride.Scripts
{
infoPanel = Instantiate(Resources.Load<GameObject>("UI/Prefab/Ride/OnlineInfoPanel"), uiObject);
}
var infoPos = playerScreenPos + new Vector3(100f, 60f, 0f);
var infoPos = playerScreenPos + new Vector3(150f, 60f, 0f);
((RectTransform)infoPanel.transform).position = infoPos;
CreateInfoLine(playerScreenPos, infoPos);
var infoHead = infoPanel.transform.Find("Head").GetComponent<RawImage>();
@ -100,7 +102,7 @@ namespace Assets.Scenes.Ride.Scripts
var infoDistance = infoPanel.transform.Find("Distance").GetComponent<Text>();
if (_playerController != null)
{
infoDistance.text = ((totalDistance - _playerController.TotalDistance) * 1000).ToString("f0") + "M";
infoDistance.text = diff >0? $"+{diff}M" : $"{diff}M";
}
var infoWKG = infoPanel.transform.Find("WKG").GetComponent<Text>();
if (Weight + BikeWeight != 0) {
@ -120,7 +122,7 @@ namespace Assets.Scenes.Ride.Scripts
_directionsGO.Destroy();
}
startPos = Camera.main.ScreenToWorldPoint(startPos);
endPos.x -= 80f;
endPos.x -= 120f;
endPos = Camera.main.ScreenToWorldPoint(endPos);
_directionsGO = new GameObject("InfoLinerender");

View File

@ -11,10 +11,6 @@ namespace Assets.Scenes.Ride.Scripts
{
#region
TrailRenderer trail;
//前面的人
public double frontOffset { set; get; } = double.NegativeInfinity;
//后面的人
public double backOffset { set; get; } = double.MaxValue;
protected override void Init()
{
@ -52,12 +48,29 @@ namespace Assets.Scenes.Ride.Scripts
weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight;
#if UNITY_EDITOR
power = 3000;//测试功率
power = 500;//测试功率
#endif
mainController.TrackResistance(currentSlope * App.rideSetting.sensitivity / 100);
speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight);
distance = mainController.UpdateDistance(speed);
totalDistance += distance;
if (power > 0)
{
speed = Helper.CalculateSpeed(elevation, currentSlope, power, weight, bicycleWeight);
distance = mainController.UpdateDistance(speed);
totalDistance += distance;
}
//计算累计爬升
if (CurrentIndex > 0)
{
totalClimb = 0;
for (int i = 1; i <= CurrentIndex; i++)
{
var diff = mapData.List[i].Elevation - mapData.List[i - 1].Elevation;
if (diff > 0)
{
totalClimb += diff;
}
}
}
if (!stopRecord)
{

View File

@ -127,13 +127,13 @@ namespace Assets.Scenes.Ride.Scripts
decimal diffAbs = Math.Abs(diff);
if (diffAbs <= 200)
{
if (!dat.Contains(item))
//if (!dat.Contains(item))
dat.Add(item);
}
if (diff <= 0 && diff > -200)
{
item.y += 0.15f;
if (!dat.Contains(item))
//if (!dat.Contains(item))
path.Add(item);
}
}
@ -201,20 +201,20 @@ namespace Assets.Scenes.Ride.Scripts
_directionsGO.transform.parent = transform;
var lineRender = _directionsGO.AddComponent<LineRenderer>();
//lineRender.material = new Material(Shader.Find("Sprites/Default"));
lineRender.material = Resources.Load<Material>("UI/Material/color8");
lineRender.material = Resources.Load<Material>("UI/Material/3");
var dat = feat.Points[0];
ColorUtility.TryParseHtmlString("#FF2742", out Color c);
lineRender.endColor = new Color(1,1,1,0.65f);
lineRender.startColor = new Color(1, 1, 1, 0.65f);
//设置宽度
lineRender.startWidth = 1f;
lineRender.endWidth = 1f;
lineRender.startWidth = 1.5f;
lineRender.endWidth = 1.5f;
lineRender.positionCount = dat.Count;
lineRender.SetPositions(feat.Points[0].ToArray());
lineRender.loop = false;
lineRender.numCapVertices = 10;
lineRender.numCornerVertices = 10;
//lineRender.numCornerVertices = 30;
}
@ -229,9 +229,9 @@ namespace Assets.Scenes.Ride.Scripts
_pathRoute.transform.parent = transform;
var lineRender = _pathRoute.AddComponent<LineRenderer>();
//lineRender.material = new Material(Shader.Find("Sprites/Default"));
var color7 = Resources.Load<Material>("UI/Material/color7");
//var color7 = Resources.Load<Material>("UI/Material/color7");
var Graph2 = Resources.Load<Material>("UI/Material/3dGraph2");
lineRender.materials = new Material[] { color7, Graph2 };
lineRender.materials = new Material[] { Graph2 };
lineRender.endColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 0.65f);
lineRender.startColor = new Color(0.9764706f, 0.1882353f, 0.5254902f, 0.65f);
@ -242,7 +242,7 @@ namespace Assets.Scenes.Ride.Scripts
lineRender.SetPositions(feat.ToArray());
lineRender.loop = false;
lineRender.numCapVertices = 10;
lineRender.numCornerVertices = 10;
//lineRender.numCornerVertices = 10;
//
lineRender.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
lineRender.allowOcclusionWhenDynamic = false;

View File

@ -65,6 +65,7 @@ namespace Assets.Scenes.Ride.Scripts
RawImage altitudeGraph;//海拔图
Image leftImage;
Image rightImage;
Image area;
#endregion
#region
@ -166,6 +167,7 @@ namespace Assets.Scenes.Ride.Scripts
altitudeGraph = transform.Find("Panel/TitlePanel/AltitudeGraph").GetComponent<RawImage>();
leftImage = transform.Find("Panel/TitlePanel/Left").GetComponent<Image>();
rightImage = transform.Find("Panel/TitlePanel/Right").GetComponent<Image>();
area = transform.Find("Panel/TitlePanel/Area").GetComponent<Image>();
settingPanel = transform.Find("Panel/SettingPanel").gameObject;
preSlopeText = transform.Find("Panel/PreSlopePanel/PreSlopeText").GetComponent<Text>();
@ -307,14 +309,16 @@ namespace Assets.Scenes.Ride.Scripts
{
if (mainController.routeResult != null)
{
if (mainController.routeResult.Mode == CyclingModel.Review.ToString())
{
mainController.SetCyclingModel(CyclingModel.Review);
selectPanel.SetActive(false);
var reviewFactory = reviewPanel.transform.GetComponent<ReviewFactory>();
reviewFactory.Refresh();
}
else if (mainController.routeResult.Mode == CyclingModel.Single.ToString())
#region
//if (mainController.routeResult.Mode == CyclingModel.Review.ToString())
//{
// mainController.SetCyclingModel(CyclingModel.Review);
// selectPanel.SetActive(false);
// var reviewFactory = reviewPanel.transform.GetComponent<ReviewFactory>();
// reviewFactory.Refresh();
//}
#endregion
if (mainController.routeResult.Mode == CyclingModel.Single.ToString())
{
mainController.SetCyclingModel(CyclingModel.Single);
selectPanel.SetActive(false);
@ -398,7 +402,7 @@ namespace Assets.Scenes.Ride.Scripts
//nextSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.NextSlopeDistance, 0, "-{0}M");
nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M";
currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%";
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentDistance - (float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M", currentSlopeProcess);
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M", currentSlopeProcess);
totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString();
//小地图进度
var process = (float)(playerController.TotalDistance / routeInstance.Distance);
@ -670,18 +674,23 @@ namespace Assets.Scenes.Ride.Scripts
leftImage.gameObject.SetActive(false);
rightImage.gameObject.SetActive(false);
altitudeGraph.gameObject.SetActive(false);
area.gameObject.SetActive(false);
}
else
{
var m = Screen.width / 1600D;
var start = chartDataSourceScript.GetRealTimeStart();
var end = chartDataSourceScript.GetRealTimeEnd();
var originWith = Screen.width / 1600D * 30D;
var with = Screen.width / 1600D * 286D;
var originWith = m * 30D;
var with = m * 286D;
var left = start * with + originWith;
var right = end * with + originWith;
var rectTransform = area.gameObject.GetComponent<RectTransform>();
var width = m *(float)(right - left);
rectTransform.sizeDelta = new Vector2((float)width, 40);
rectTransform.DOMoveX((float)(left), 1);
leftImage.transform.DOMoveX((float)left, 1);
rightImage.transform.DOMoveX((float)right, 1);
}