人物动画调整&UI界面细节调整

This commit is contained in:
lishuo committed 2022-04-02 18:26:18 +08:00
1 parent cd1d67d9e8
commit efdc95ed3d
17 files changed
+2866 -1544

No files matched your search

@@ -318,7 +318,7 @@ namespace Assets.Scripts.Scenes.VideoRide
if (head != null)
{
//它们的乘积就是高度
Vector3 worldPosition = new Vector3(transform.position.x, transform.position.y+2, transform.position.z);
Vector3 worldPosition = new Vector3(transform.position.x, transform.position.y+1.5f, transform.position.z);
var playerScreenPos = Camera.main.WorldToScreenPoint(worldPosition);
head.transform.position = playerScreenPos;
ftpImage.fillAmount = (float)(wkg / 6);
@@ -15,6 +15,7 @@ namespace Assets.Scripts.Scenes.VideoRide
public Text nameLabel;
public Text genderLabel;
public Text idLabel;
public GameObject master;
//Model
private ContactInfo _contactInfo;
@@ -63,12 +64,14 @@ namespace Assets.Scripts.Scenes.VideoRide
nameLabel.text = contactInfo.Name;
genderLabel.text = contactInfo.Gender;
idLabel.text = contactInfo.id;
//master.SetActive(manager.CurrentPlayer.UserId.ToString() == contactInfo.id);
}
public void UpdateItem(string name,string gender,string id)
{
nameLabel.text = name;
genderLabel.text = gender;
idLabel.text = id;
master.SetActive(manager.CurrentPlayer?.UserId.ToString() == id);
}
private void ButtonListener()
{
@@ -12,16 +12,25 @@ namespace Assets.Scripts.Scenes.VideoRide
Text btnRideNum { get; set; }
GameObject Hide { get; set; }
GameObject Show { get; set; }
VideoPlayer videoPlayer { get; set; }
private bool isAnimating = false;
VerticalLayoutGroup group { get; set; }
GameObject stickyItem { get; set; }
VideoGameManager manager { get; set; }
RectTransform viewRec { get; set; }
private void Start()
{
rideNum = transform.Find("Head/RideNum/Number").GetComponent<Text>();
btnRideNum = transform.Find("Head/Show/Panel/Number").GetComponent<Text>();
Hide = transform.Find("Head/Hide").gameObject;
Show = transform.Find("Head/Show").gameObject;
var viewPort = transform.Find("List/Viewport");
stickyItem = transform.Find("List/VideoPlayerInfo").gameObject;
UIManager.AddEvent(Hide, UnityEngine.EventSystems.EventTriggerType.PointerClick, Hidehandler);
UIManager.AddEvent(Show, UnityEngine.EventSystems.EventTriggerType.PointerClick, Showhandler);
manager = FindObjectOfType<VideoGameManager>();
viewRec = ((RectTransform)viewPort);
}
public void Hidehandler(BaseEventData data)
{
@@ -52,6 +61,18 @@ namespace Assets.Scripts.Scenes.VideoRide
while (timer < 0) {
rideNum.text = $"{MapUDPService.GetAllOnlineUserCount()}";
btnRideNum.text = rideNum.text;
if (manager._aRMode == VideoGameManager.ARMode.RIDE)
{
stickyItem.SetActive(true);
viewRec.DOLocalMoveY(256, 0f);
viewRec.DOSizeDelta(new Vector2(viewRec.sizeDelta.x, 546), 0);
}
else
{
stickyItem.SetActive(false);
viewRec.DOLocalMoveY(300, 0f);
viewRec.DOSizeDelta(new Vector2(viewRec.sizeDelta.x,590f), 0);
}
timer += 1f;
}
}
@@ -55,31 +55,37 @@ namespace Assets.Scripts.Scenes.VideoRide
_contactList.Add(obj);
}
}
float timer = 1f;
float timer = 0.5f;
private void Update()
{
var currenList = FindObjectsOfType<ListItem>();//当前列表
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);//最新列表
foreach (ListItem o in currenList)
timer -= Time.deltaTime;
while (timer < 0)
{
var needUpdate = list.Where(c => c.Id.ToString() == o.Id).FirstOrDefault();
if (needUpdate != null)
var currenList = FindObjectsOfType<ListItem>();//当前列表
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);//最新列表
foreach (ListItem o in currenList)
{
o.gameObject.SetActive(true);
o.UpdateItem(needUpdate.Name, needUpdate.LastActiveTime.ToShortTimeString(), needUpdate.Id.ToString());
var needUpdate = list.Where(c => c.Id.ToString() == o.Id).FirstOrDefault();
if (needUpdate != null)
{
o.gameObject.SetActive(true);
o.UpdateItem(needUpdate.Name, needUpdate.LastActiveTime.ToShortTimeString(), needUpdate.Id.ToString());
}
else
{
o.gameObject.SetActive(false);
}
}
else
if (currenList.Count() == 0 && list.Count() > 0)
{
o.gameObject.SetActive(false);
}
}
if (currenList.Count() == 0 && list.Count() > 0)
{
InitData();
if (_recyclableScrollRect.SelfInitialize)
{
_recyclableScrollRect.ReloadData();
InitData();
if (_recyclableScrollRect.SelfInitialize)
{
_recyclableScrollRect.ReloadData();
}
}
timer += 0.5f;
}
}
@@ -10,7 +10,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
public class OnlineVideoPlayer : AbstractVideoPlayer
{
public double diff { get; set; }
public double diff;
protected override void Update()
{
base.Update();
@@ -30,7 +30,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
Destroy();
}
var z = current.transform.position.z + diff;
var z = current.transform.position.z + diff * 0.5;
transform.DOMoveZ((float)z, 1f);
Push();
}
@@ -107,7 +107,6 @@ namespace Assets.Scripts.Scenes.VideoRide
{
this.wkg = 2.3d;
this.UserName = name;
this.speed = 10;
this.cadance = cadance;
this.totalDistance = totalDistance;
this.heartRate = (int?)heartRate;
@@ -13,7 +13,8 @@ namespace Assets.Scripts.Scenes.VideoRide
{
GameObject Hide { get; set; }
GameObject Show { get; set; }
VideoGameManager manager { get; set; }
VideoGameManager manager { get; set; }
private bool isAnimating = false;
private void Start()
{
Hide = transform.Find("Head/Hide").gameObject;
@@ -43,17 +44,24 @@ namespace Assets.Scripts.Scenes.VideoRide
}
public void Hidehandler(BaseEventData data)
{
if (isAnimating)
return;
isAnimating = true;
transform.DOLocalMoveX(-913, 1f).onComplete+=()=> {
Show.SetActive(true);
Hide.SetActive(false);
isAnimating = false;
};
}
public void Showhandler(BaseEventData data)
{
if (isAnimating)
return;
isAnimating = true;
Show.SetActive(false);
Hide.SetActive(true);
transform.DOLocalMoveX(-667, 1f).onComplete += () => {
isAnimating = false;
};
}
}
@@ -0,0 +1,40 @@
using PolyAndCode.UI;
using System;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scripts.Scenes.VideoRide
{
public class StickyListItem : MonoBehaviour, ICell
{
//UI
public Text nameLabel;
public Text distanceLabel;
public GameObject master;
//Model
private ContactInfo _contactInfo;
private int _cellIndex;
public string Id;
public string Rank;
public string Name;
private VideoPlayer videoPlayer { get; set; }
private float timer = 1f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0)
{
videoPlayer = FindObjectOfType<VideoPlayer>();
if (videoPlayer != null)
{
nameLabel.text = videoPlayer.UserName;
distanceLabel.text = videoPlayer.totalDistance.ToString("f1");
Id = videoPlayer.UserId.ToString();
}
timer += 1f;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c5b781a8c7954144ea7de573333f09ed
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -15,6 +15,8 @@ namespace Assets.Scripts.Scenes.VideoRide
base.Start();
animator.Play("idle");
power = 200;;
UserId = App.CurrentUser.Id;
UserName = App.CurrentUser.Nickname;
}
protected override void Update()