Example #1
0
    private void Update()
    {
        if (fadeIn && state == mState.active)
        {
            audioSource.volume += 0.001f;

            if (audioSource.volume >= targetVol)
            {
                audioSource.volume = targetVol;
                state = mState.inactive;
            }
        }


        if (fadeOut && state == mState.active)
        {
            audioSource.volume -= 0.001f;
            if (audioSource.volume <= 0f)
            {
                audioSource.Stop();
                audioSource.volume = targetVol;
                state = mState.inactive;
            }
        }
    }
Example #2
0
 public void FadeOut(float vol)
 {
     targetVol = vol;
     state     = mState.active;
     fadeIn    = false;
     fadeOut   = true;
 }
Example #3
0
 public void ChangeState()
 {
     if (mCurrentState == mState.waiting)
     {
         mCurrentState = mState.wait;
     }
 }
Example #4
0
    public void FadeIn(AudioClip audioClip, float vol)
    {
        audioSource.clip = audioClip;
        audioSource.Play();

        state     = mState.active;
        targetVol = vol;
        fadeIn    = true;
        fadeOut   = false;
    }
Example #5
0
    // Use this for initialization
    void Start()
    {
        EnemyState            = mState.Idle;
        contactTime           = Time.time;
        proximityRangeIdle    = new Vector3(6, 4, 6);
        proximityRangeAngery  = new Vector3(10, 4, 10);
        proximityRangeContact = new Vector3(1, 2, 1);
        speed = .5f;

        distToPlayer = transform.position - player.transform.position;
        SetDistText();
    }
Example #6
0
    // Update is called once per frame
    void Update()
    {
        switch (EnemyState)
        {
        case mState.Angery:
            transform.position = Vector3.MoveTowards(transform.position, player.transform.position, speed); //move towards player
            if (!isNearPlayer(proximityRangeAngery))                                                        //check if player is within angery range
            {
                EnemyState = mState.Idle;
            }
            if (isNearPlayer(proximityRangeContact))
            {
                contactTime = Time.time;
                EnemyState  = mState.Stunned;
            }
            break;

        case mState.Idle:
            if (isNearPlayer(proximityRangeIdle))               //check if player is within idle range
            {
                EnemyState = mState.Angery;
            }

            break;

        case mState.Stunned:

            if (getElapsedTime(contactTime) > 1.5)
            {
                EnemyState = mState.Angery;
            }

            //freeze for 3 seconds,  then go back to being angery

            break;

        case mState.Dying:
            //destroy this object with a dying animation
            gameObject.SetActive(false);
            break;
        }
    }
Example #7
0
    private void STM(mState state, ref float _time)
    {
        switch (state)
        {
        case mState.moving:
            Move(walker.MoveToDirection(shouldSmooth));
            if (!shouldSmooth && walker.closeToWaypoint())
            {
                currentState = (shouldPause ? mState.paused : mState.rotating);
                walker.SetRotation();
            }
            break;

        case mState.paused:
            _time += deltaTime;
            if (_time >= pauseTime)
            {
                currentState = mState.rotating;
                _time        = 0;
            }
            GetComponent <Animator>().SetFloat("Walk", 0f);
            break;

        case mState.rotating:
            _time = Mathf.Min(rotationTime, _time + deltaTime);
            walker.Rotate(_time, rotationTime);

            if (_time >= rotationTime)
            {
                currentState = mState.moving;
                _time        = 0;
                GetComponent <Animator>().SetFloat("Walk", speed);
            }
            break;
        }
    }
Example #8
0
    public IEnumerator Scroll()
    {
        switch (mCurrentState)
        {
        case mState.start:
            gameObject.transform.position = Vector3.Lerp(gameObject.transform.position, mWaitPos, Time.deltaTime * mScrollingSpeed);
            if (Vector3.Distance(gameObject.transform.position, mWaitPos) < 0.2f)
            {
                mCurrentState = mState.waiting;
            }
            break;

        case mState.waiting:
            if (mContinuous)
            {
                yield return(new WaitForSeconds(2.0f));

                mCurrentState = mState.wait;
            }
            break;

        case mState.wait:
            gameObject.transform.position = Vector3.Lerp(gameObject.transform.position, mEndPos, Time.deltaTime * mScrollingSpeed);
            if (Vector3.Distance(gameObject.transform.position, mEndPos) < 0.5f)
            {
                mCurrentState = mState.end;
            }
            break;

        case mState.end:
            gameObject.transform.position = mStartPos;
            mCurrentState = mState.start;
            gameObject.transform.parent.GetComponent <ScrollerManager>().IncreaseIndex();
            yield break;
        }
    }