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; }