主场景迁移
This commit is contained in:
1 parent
ba994e715c
commit
ba324aa68d
18 files changed
+94
-13
No files matched your search
@@ -0,0 +1,93 @@
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
public class Toast : MonoBehaviour
|
||||
{
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
if (toast!=null)
|
||||
{
|
||||
//toast.SetActive(false);
|
||||
//txt = toast.transform.Find("Toast").GetComponent<Text>();
|
||||
}
|
||||
//if (txt != null)
|
||||
//{
|
||||
// txt.enabled = false;
|
||||
//}
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
[SerializeField] GameObject toast;
|
||||
[SerializeField] Text txt;
|
||||
|
||||
public void showToast(string json)
|
||||
{
|
||||
JObject JO = (JObject)JsonConvert.DeserializeObject(json);
|
||||
toast.SetActive(true);
|
||||
StartCoroutine(showToastCOR(JO.Value<string>("text"), JO.Value<int>("duration")));
|
||||
}
|
||||
|
||||
private IEnumerator showToastCOR(string text,
|
||||
int duration)
|
||||
{
|
||||
Color orginalColor = txt.color;
|
||||
Color otoastColor = toast.GetComponent<Image>().color;
|
||||
txt.text = text;
|
||||
txt.enabled = true;
|
||||
//Fade in
|
||||
yield return fadeInAndOut(txt, true, 0.5f);
|
||||
|
||||
//Wait for the duration
|
||||
float counter = 0;
|
||||
while (counter < duration)
|
||||
{
|
||||
counter += Time.deltaTime;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
//Fade out
|
||||
yield return fadeInAndOut(txt, false, 0.5f);
|
||||
|
||||
txt.enabled = false;
|
||||
toast.SetActive(false);
|
||||
txt.color = orginalColor;
|
||||
toast.GetComponent<Image>().color = otoastColor;
|
||||
}
|
||||
|
||||
IEnumerator fadeInAndOut(Text targetText, bool fadeIn, float duration)
|
||||
{
|
||||
//Set Values depending on if fadeIn or fadeOut
|
||||
float a, b;
|
||||
if (fadeIn)
|
||||
{
|
||||
a = 0f;
|
||||
b = 1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
a = 1f;
|
||||
b = 0f;
|
||||
}
|
||||
|
||||
Color currentColor = txt.color;
|
||||
Color toastColor = toast.GetComponent<Image>().color;
|
||||
float counter = 0f;
|
||||
|
||||
while (counter < duration)
|
||||
{
|
||||
counter += Time.deltaTime;
|
||||
float alpha = Mathf.Lerp(a, b, counter / duration);
|
||||
toast.GetComponent<Image>().color = new Color(toastColor.r, toastColor.g, toastColor.b, alpha);
|
||||
targetText.color = new Color(currentColor.r, currentColor.g, currentColor.b, alpha);
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d1430f696af1114097da700a5dfe0ba
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,59 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.Scripts
|
||||
{
|
||||
public static class Utils
|
||||
{
|
||||
/*显示简略提示,需要拖Toast的预制件,且保证其他组件名字不是Toast,ToastContainer*/
|
||||
public static void showToast(GameObject game,string text,int duration = 1)
|
||||
{
|
||||
var toast = Utils.FindUpParent(game.transform).Find("ToastContainer");
|
||||
if (toast!=null)
|
||||
{
|
||||
toast.GetComponent<Toast>().showToast(JsonConvert.SerializeObject(new
|
||||
{
|
||||
text,
|
||||
duration
|
||||
}));
|
||||
//toast.SendMessage("showToast", );
|
||||
}
|
||||
}
|
||||
/*显示简略提示,需要拖Toast的预制件,且保证其他组件名字不是Toast,ToastContainer*/
|
||||
|
||||
/*显示网络图片*/
|
||||
public delegate Coroutine StartCoroutine(IEnumerator routine);
|
||||
public static void DisplayImage(StartCoroutine startCoroutine,RawImage img, string url)
|
||||
{
|
||||
startCoroutine(DownloadImage(img, url));
|
||||
}
|
||||
static IEnumerator DownloadImage(RawImage img,string MediaUrl)
|
||||
{
|
||||
UnityWebRequest request = UnityWebRequestTexture.GetTexture(MediaUrl);
|
||||
yield return request.SendWebRequest();
|
||||
if (request.isNetworkError || request.isHttpError)
|
||||
Debug.Log(request.error);
|
||||
else
|
||||
img.texture = ((DownloadHandlerTexture)request.downloadHandler).texture;
|
||||
}
|
||||
/*显示网络图片*/
|
||||
|
||||
/*获取最顶层对象*/
|
||||
public static Transform FindUpParent(Transform zi)
|
||||
{
|
||||
if (zi.parent == null)
|
||||
return zi;
|
||||
else
|
||||
return FindUpParent(zi.parent);
|
||||
}
|
||||
/*获取最顶层对象*/
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 860b65f14906bba44b260c0fec18bca6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in new issue
Block a user