82 lines
3.0 KiB
C#

using Assets.Scenes.Ride.Scripts;
using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace Assets.Scripts.Scenes.VideoRide
{
public class NearByScript: MonoBehaviour
{
Text rideNum {get;set;}
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)
{
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.55f, 1f).onComplete += () => {
isAnimating = false;
};
}
float timer = 1f;
private void Update()
{
timer -= Time.deltaTime;
while (timer < 0) {
var list = MapUDPService.GetOnlineUsers(App.RouteIdParam);//最新列表
rideNum.text = $"{list.Count}";
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;
}
}
}
}