Example #1
0
    private IEnumerator DeathDelay()
    {
        m_coinText.text      = m_numberOfCoins.ToString();
        m_countdownText.text = ((int)m_waitTime).ToString();
        if (m_spookyTimeManager.IsSpookyTimeActive())
        {
            m_jumpscareEvent.Invoke();
            m_jumpscareImage.gameObject.SetActive(true);
            m_jumpscareImage.color = Color.white;
            float timer2 = 0;
            while (timer2 < m_jumpscareStunTime)
            {
                timer2 += Time.deltaTime;
                m_jumpscareImage.color = Color.Lerp(Color.white, new Color(1, 1, 1, 0), m_jumpscareAnimCurve.Evaluate(timer2 / m_jumpscareStunTime));
                yield return(null);
            }
            m_jumpscareImage.gameObject.SetActive(false);
        }

        float timer = m_waitTime;

        while (timer > 0)
        {
            m_countdownText.text = ((int)timer).ToString();
            timer -= Time.deltaTime;
            yield return(null);

            CheckCoinInput();
        }
        m_playersDeathEvent.Invoke();
    }
 // Update is called once per frame
 void Update()
 {
     if (m_spookyTimeManager.IsSpookyTimeActive() != m_spookyTimeSwitch)
     {
         m_spookyTimeSwitch = m_spookyTimeManager.IsSpookyTimeActive();
         ChangeAnimState(m_spookyTimeSwitch);
     }
 }
 void Update()
 {
     if (m_spookyTime.IsSpookyTimeActive() && isFlowersInScene == false)
     {
         SpawnFlower();
     }
 }
Example #4
0
    public void PlayClip()
    {
        if (!m_playSound)
        {
            return;
        }

        m_aSource.Stop();

        float     random             = Random.Range(0f, 1f);
        float     currentProbablilty = 0;
        AudioClip currentClip        = null;

        if (m_spookyTime == null)
        {
            m_spookyTime = SpookyTimeManager.Instance;
        }
        foreach (Audioclips clip in (m_hasSpookyTimeVariations ? (m_spookyTime.IsSpookyTimeActive() ? m_spookyTimeClips : m_allClips) : m_allClips))
        {
            if (random < clip.m_probablility + currentProbablilty)
            {
                currentClip = clip.m_clip;
                break;
            }
            else
            {
                currentProbablilty += clip.m_probablility;
            }
        }

        m_aSource.clip = currentClip;
        m_aSource.Play();
    }
Example #5
0
 private void DetectPlayer()
 {
     if (m_currentTarget == null)
     {
         Collider2D col = Physics2D.OverlapCircle(transform.position, (m_spookyTimeManager.IsSpookyTimeActive()) ? m_spookyTimeDetectionRadius : m_detectionRange, m_detectionMask);
         if (col != null)
         {
             if (!Physics2D.Linecast(transform.position, col.transform.position, m_blockingMask))
             {
                 if (m_lostPlayer)
                 {
                     StopCoroutine(m_lostCoroutine);
                     m_lostPlayer = false;
                 }
                 m_currentTarget = col.gameObject;
                 m_aiCont.SetPlayerTransform(m_currentTarget.transform);
                 m_aiCont.ChangeState(AI_Controller.AIStates.CHASE);
             }
         }
     }
     else
     {
         Collider2D[] cols = Physics2D.OverlapCircleAll(transform.position, (m_spookyTimeManager.IsSpookyTimeActive()) ? m_spookyTimeDetectionRadius : m_detectionRange, m_detectionMask);
         bool         currentTargetInBounds = false;
         foreach (Collider2D col in cols)
         {
             if (col.gameObject == m_currentTarget)
             {
                 if (!Physics2D.Linecast(transform.position, col.transform.position, m_blockingMask))
                 {
                     currentTargetInBounds = true;
                     break;
                 }
             }
         }
         if (!currentTargetInBounds)
         {
             if (!m_lostPlayer)
             {
                 m_lostPlayer    = true;
                 m_lostCoroutine = StartCoroutine(LostTimer());
             }
         }
     }
 }
 private void Update()
 {
     if (m_spookyManager.IsSpookyTimeActive())
     {
         m_spookyObject.SetActive(true);
         m_nonSpookyObject.SetActive(false);
     }
     else
     {
         m_spookyObject.SetActive(false);
         m_nonSpookyObject.SetActive(true);
     }
 }
    public void PlayClip()
    {
        m_aSource.Stop();

        if (m_hasSpookyTimeClip)
        {
            m_aSource.clip = ((m_spookyManager.IsSpookyTimeActive()) ? m_spookyTimeClip : m_nonSpookyTimeClip);
        }
        else
        {
            m_aSource.clip = m_nonSpookyTimeClip;
        }
    }
Example #8
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(m_flashKeycode) && lightUI.value >= 100)
        {
            m_flashed.Invoke();

            lightUI.value = 0;

            //flashlight

            //send raycast in direction to find wall

            RaycastHit2D wallHits = Physics2D.Raycast(transform.position, eMC.GetCurrentForward(), m_flashDistance, wall);

            Vector3 hitPoint = new Vector3();

            if (wallHits)
            {
                hitPoint = wallHits.point;
            }
            else
            {
                hitPoint = transform.position + eMC.GetCurrentForward() * m_flashDistance;
            }

            //send raycast in direction to find ghost

            RaycastHit2D[] ghostHits = Physics2D.RaycastAll(transform.position, eMC.GetCurrentForward(), (Vector3.Distance((Vector2)hitPoint, (Vector2)transform.position)), ghost);

            //render flashlight

            lr.positionCount = 2;
            lr.SetPosition(0, transform.position + Vector3.forward * -1);
            lr.SetPosition(1, hitPoint + Vector3.forward * -1);

            StartCoroutine(DerenderLine(flashTime));

            ScoreManager sM = ScoreManager.Instance;

            //stun
            foreach (RaycastHit2D ghostHit in ghostHits)
            {
                ghostHit.collider.transform.parent.GetComponent <AI_Controller>().ChangeState(AI_Controller.AIStates.STUN);

                sM.ChangeScore((m_spookyTimeManager.IsSpookyTimeActive()) ?  spooktTimeStunAward:stunAward);
            }
        }
    }
Example #9
0
 private void Update()
 {
     m_flowerGlow.SetActive(m_spookyTime.IsSpookyTimeActive());
 }
Example #10
0
 private bool IsSpookyTime()
 {
     return(m_spookyTimeManager.IsSpookyTimeActive());
 }