using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using VRStandardAssets.Utils;
public class TriggerManager : MonoBehaviour {
//public float fadeSpeed = 1.5f;
//private bool sceneStarting = true;
//private bool FadeToBlackOk = false;
//private RawImage rawImage = null;
//public GameObject RawImage;
public GameObject CameraPath;
private AudioSource Scene02Aud;
public VRCameraFade vrcf;
private AsyncOperation asop;
void Awake()
{
//CameraPath.SetActive(false);
//rawImage = RawImage.GetComponent<RawImage>(); //获得RawImage组件对象
//rawImage.color = new Color(0, 0, 0, 1);
}
void Start()
{
Scene02Aud = GetComponent<AudioSource>();
Scene02Aud.Stop();
}
//void FadeToClear()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.clear, fadeSpeed * Time.deltaTime);
//}
//void FadeToBlack()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.black, fadeSpeed * Time.deltaTime);
//}
void OnTriggerEnter(Collider other)
{
Debug.Log(1111);
if (other.name.Contains("Fade"))
{
Debug.Log(222);
//StartCoroutine(FadeOutToScene_03());
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(ChangeScene());
}
}
if (other.name.Contains("Video_01"))
{
EventManager.Instance.OpenAud_01();
}
else if (other.name.Contains("Video_02"))
{
EventManager.Instance.OpenAud_02();
}
else if (other.name.Contains("Swim"))
{
Debug.Log(2222);
EventManager.Instance.whaleSwim();
}
else if (other.name.Contains("Take"))
{
Debug.Log(2222);
EventManager.Instance.whaleTake();
}
else if (other .name .Contains("Idel"))
{
EventManager.Instance.whaleTakeToIdel();
}
else if (other.name.Contains("Blink"))
{
EventManager.Instance.whaleIdelToBlink();
}
else if (other.name.Contains("BK"))
{
EventManager.Instance.whaleBlinkToBlink_02();
}
else if (other.name.Contains("KK"))
{
EventManager.Instance.whaleBlink_02ToBlink();
}
else if (other.name.Contains("SSS"))
{
Debug.Log(6666);
EventManager.Instance.whaleBlinkToTake();
}
else if (other.name.Contains("Tail"))
{
EventManager.Instance.OpenAud_03();
}
else if (other.name.Contains("Intro"))
{
EventManager.Instance.OpenAud_04();
}
}
IEnumerator ChangeScene()
{
asop = SceneManager.LoadSceneAsync(Application.loadedLevel+1);
asop.allowSceneActivation = false;
yield return new WaitForSeconds(2f);
asop.allowSceneActivation = true;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(ChangeScene());
}
}
}
//IEnumerator FadeOutToScene_03()
//{
// Debug.Log(333);
// yield return new WaitForSeconds(3f);
// Debug.Log(444);
// //EndScene();
//}
//褪色的方法
//void StartScene()
//{
// FadeToClear();
// if (rawImage.color.a <= 0.05f)
// {
// rawImage.color = Color.clear;
// rawImage.enabled = false;
// CameraPath.SetActive(true);
// Scene02Aud.Play();
// sceneStarting = false;
// }
//}
//从透明变白的方法
//public void EndScene()
//{
// rawImage.enabled = true;
// FadeToBlackOk = true;
//}
//void Update()
//{
// //如果sceneStarting = true,开始褪色;
// if (sceneStarting)
// {
// StartScene();
// }
// //如果FadeToBlackOk = true,
// else if (FadeToBlackOk)
// {
// //开始执行从透明变为白色的方法
// FadeToBlack();
// Debug.Log("aaaaa");
// //如果透明度 >= 0.95f, 开始跳转场景
// if (rawImage.color.a >= 0.95f)
// {
// Debug.Log("bbbbbb");
// SceneManager.LoadScene("02_ScenesShow");
// }
// }
//}
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using VRStandardAssets.Utils;
public class SharkManager : Singleton<SharkManager>
{
private AsyncOperation asop;
public GameObject Shark;
AnimatorStateInfo animatorInfo;
public Animator SharkAnim;
public GameObject Path_01;
public GameObject Path_02;
public GameObject RockPath_01;
public GameObject RockPath_02;
public GameObject SubMarinePath;
public GameObject LanternsPath;
public GameObject Lanterns;
public AudioClip nervousClip;
public AudioSource audSou;
private bool PlayClip_01;
//public MeshRenderer mesh;
private Material[] mat;
//public GameObject RAW;
//private RawImage rawImage;
public float fadeSpeed = 1.5f;
private bool sceneStarting = true;
private bool FadeToBlackOk = false;
public VRCameraFade vrcf;
// Use this for initialization
void Awake()
{
//rawImage = RAW.GetComponent<RawImage>();
//rawImage.color = new Color(0, 0, 0, 1);
Lanterns.SetActive(true);
//mesh = GetComponent<MeshRenderer>();
audSou = GetComponent<AudioSource>();
audSou.Stop();
}
void Start() {
//Material mat = mesh.material;
PlayClip_01 = false;
//audSou.Play();
SharkAnim = Shark.GetComponent<Animator>();
Path_01.SetActive(true);
Path_02.SetActive(false);
RockPath_01.SetActive(false);
RockPath_02.SetActive(false);
SubMarinePath.SetActive(false);
LanternsPath.SetActive(false);
}
// Update is called once per frame
//void FadeToClear()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.clear, fadeSpeed * Time.deltaTime);
//}
//void FadeToBlack()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.black, fadeSpeed * Time.deltaTime);
//}
public void SharkSwim()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToOpen");
}
}
public void SharkClose()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("open"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("OpenToSwim");
}
}
public void SharkWorry()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToWarry");
}
}
public void SharkWorryToSwim()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("worry"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("WorryToSwim");
}
}
public void SharkSwimToAttack()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToAttack");
}
}
public void SharkAttackToSwim()
{
Debug.Log("PPP");
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("attack"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("AttackToSwim");
}
}
public void PathTwo()
{
Debug.Log("PPP");
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("attack"))//注意这里指的不是动画的名字而是动画状态的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("AttackToSwim");
}
}
public void ShowRockPath()
{
RockPath_01.SetActive(true);
}
public void HideRockPath()
{
RockPath_01.SetActive(false );
}
public void ShowRock_02()
{
RockPath_02.SetActive(true );
}
public void ShowAndHide()
{
Path_02.SetActive(true);
Path_01.SetActive(false);
}
public void ShowSubMarinePath()
{
SubMarinePath.SetActive(true );
}
public void NervousAudio()
{
audSou.Play();
}
public void QuitScene()
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(FadeOutToScene_03());
}
}
public void ShowLanternsPath()
{
LanternsPath.SetActive(true);
}
public void HideLanternsPath()
{
LanternsPath.SetActive(false );
Lanterns.SetActive(false );
}
IEnumerator FadeOutToScene_03()
{
// Debug.Log(333);
// yield return new WaitForSeconds(2f);
// Debug.Log(444);
//// EndScene();
asop = SceneManager.LoadSceneAsync(Application.loadedLevel + 1);
asop.allowSceneActivation = false;
yield return new WaitForSeconds(2f);
asop.allowSceneActivation = true;
}
//褪色的方法
//void StartScene()
//{
// FadeToClear();
// if (rawImage.color.a <= 0.05f)
// {
// rawImage.color = Color.clear;
// rawImage.enabled = false;
// //CameraPath.SetActive(true);
// //Scene02Aud.Play();
// sceneStarting = false;
// }
//}
//从透明变白的方法
//public void EndScene()
//{
// rawImage.enabled = true;
// FadeToBlackOk = true;
//}
void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(FadeOutToScene_03());
}
}
// //如果sceneStarting = true,开始褪色;
// if (sceneStarting)
// {
// StartScene();
// }
// //如果FadeToBlackOk = true,
// else if (FadeToBlackOk)
// {
// //开始执行从透明变为白色的方法
// FadeToBlack();
// Debug.Log("aaaaa");
// //如果透明度 >= 0.95f, 开始跳转场景
// if (rawImage.color.a >= 0.95f)
// {
// Debug.Log("bbbbbb");
// SceneManager.LoadScene("04_End");
// // Application.Quit();
// }
// }
}
}
网友评论