148 lines
3.7 KiB
C#
148 lines
3.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using DG.Tweening;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class FreePanel : UIController
|
|
{
|
|
[SerializeField] List<Image> images;
|
|
[SerializeField] List<Image> BG;
|
|
[SerializeField] List<Vector3> trans;
|
|
[SerializeField] List<string> path = new List<string>();
|
|
[SerializeField] Button LeftBtn;
|
|
[SerializeField] Button RigthBtn;
|
|
[SerializeField] Button StartBtn;
|
|
[SerializeField] GameObject ReturnBtn;
|
|
[SerializeField] GameObject User;
|
|
[SerializeField] GameObject User1;
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
init();
|
|
}
|
|
void init()
|
|
{
|
|
for (int i = 0; i < images.Count; i++)
|
|
{
|
|
images[i].name = i.ToString();
|
|
UIManager.ins.LoadImageAsync(path[i],BG[i],false);
|
|
if (images[i].transform.localPosition.x == 0)
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 1f;
|
|
images[i].transform.SetAsLastSibling();
|
|
}
|
|
else
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 0.5f;
|
|
}
|
|
}
|
|
RigthBtn.onClick.AddListener(() =>
|
|
{
|
|
Right();
|
|
});
|
|
LeftBtn.onClick.AddListener(() =>
|
|
{
|
|
Left();
|
|
});
|
|
StartBtn.onClick.AddListener(() =>
|
|
{
|
|
for (int i = 0; i < images.Count; i++)
|
|
{
|
|
if (images[i].transform.localPosition.x==0)
|
|
{
|
|
//填写跳转的具体场景
|
|
Debug.Log("完成跳转 "+i);
|
|
}
|
|
}
|
|
SceneManager.LoadScene("MainScenes");
|
|
});
|
|
}
|
|
void Left()
|
|
{
|
|
for(int i = 0;i < images.Count; i++)
|
|
{
|
|
images[i].transform.DOLocalMoveX(LeftGetX(images[i].transform.localPosition.x),0.25f);
|
|
|
|
}
|
|
for(int i = 0;i< images.Count; i++)
|
|
{
|
|
if (images[i].transform.localPosition.x > 20)
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 1f;
|
|
images[i].transform.SetAsLastSibling();
|
|
}
|
|
else
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 0.5f;
|
|
}
|
|
}
|
|
}
|
|
void Right()
|
|
{
|
|
for (int i = 0; i < images.Count; i++)
|
|
{
|
|
images[i].transform.DOLocalMoveX(RightGetX(images[i].transform.localPosition.x), 0.25f);
|
|
}
|
|
for (int i = 0; i < images.Count; i++)
|
|
{
|
|
if (images[i].transform.localPosition.x <0)
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 1f;
|
|
images[i].transform.SetAsLastSibling();
|
|
}
|
|
else
|
|
{
|
|
images[i].GetComponent<CanvasGroup>().alpha = 0.5f;
|
|
}
|
|
}
|
|
}
|
|
float LeftGetX(float x)
|
|
{
|
|
float temp = 0;
|
|
if (x>1)
|
|
{
|
|
temp = 0;
|
|
}
|
|
if (x==0)
|
|
{
|
|
temp = -341;
|
|
}
|
|
if (x<0)
|
|
{
|
|
temp = 279;
|
|
}
|
|
return temp;
|
|
}
|
|
float RightGetX(float x)
|
|
{
|
|
float temp = 0;
|
|
if (x>1)
|
|
{
|
|
temp = -341;
|
|
}
|
|
if (x==0)
|
|
{
|
|
temp = 279;
|
|
}
|
|
if (x<0)
|
|
{
|
|
temp = 0;
|
|
}
|
|
return temp;
|
|
}
|
|
private void OnEnable()
|
|
{
|
|
ReturnBtn.SetActive(false);
|
|
User.SetActive(false);
|
|
User1.SetActive(true);
|
|
}
|
|
private void OnDisable()
|
|
{
|
|
ReturnBtn.SetActive(true);
|
|
User.SetActive(true);
|
|
User1.SetActive(false);
|
|
}
|
|
}
|