From ffc3e5f912b275699376ca887a6b16e19227dd3a Mon Sep 17 00:00:00 2001 From: yuan <123@aaa21> Date: Thu, 3 May 2018 12:26:28 +0800 Subject: [PATCH] update CharacterBehaviour disappear OnEnable --- .../Frozen/Script/CharacterBehaviour.cs | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs index bc83be0..0d0b702 100644 --- a/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs +++ b/Unity_2018_Frozen/Assets/Frozen/Script/CharacterBehaviour.cs @@ -33,6 +33,9 @@ public class CharacterBehaviour : MonoBehaviour public float videoStopTime = 1.5f; + private const float checktriggerColliderTime = 0.5f; + private float triggerColliderTimer; + private void Awake() { m_meshRender = GetComponent(); @@ -112,7 +115,13 @@ public class CharacterBehaviour : MonoBehaviour StartCoroutine(PlayOnStart()); InitialTouchButton(); StartCoroutine(RandomPosNoTriggerOther()); - color = Color.white; + color = new Color(1,1,1,0); + StartCoroutine(Sleep()); + } + + private void OnDisable() + { + } IEnumerator PlayOnStart() @@ -143,8 +152,19 @@ public class CharacterBehaviour : MonoBehaviour if (!standby) CheckPlayFinished(); } + + if (isTriggerCollider) + CheckTriggerCollider(); } + void CheckTriggerCollider() + { + triggerColliderTimer -= Time.deltaTime; + if (triggerColliderTimer <= 0) + isTriggerCollider = false; + } + + void UpdateMaterial() { mat.mainTexture = currentPlayer.Texture; @@ -237,6 +257,7 @@ public class CharacterBehaviour : MonoBehaviour IEnumerator Sleep() { + standby = false; isSleep = true; yield return StartCoroutine(WaitVideoStopTimeFadeOut()); yield return new WaitForSeconds(GetDisAppear()); @@ -286,11 +307,13 @@ public class CharacterBehaviour : MonoBehaviour void OnTriggerStay(Collider other) { isTriggerCollider = true; + triggerColliderTimer = checktriggerColliderTime; } private void OnTriggerEnter(Collider other) { isTriggerCollider = true; + triggerColliderTimer = checktriggerColliderTime; }