Exemplo n.º 1
0
    public static GrimDeskDrawer GetDrawerByType(ELeftOrRight type)
    {
        switch (type)
        {
        case ELeftOrRight.Left:
            return(instanceLeft);

        case ELeftOrRight.Right:
            return(instanceRight);

        case ELeftOrRight.MAX:
            return(null);
        }
        return(null);
    }
Exemplo n.º 2
0
    public void UpdateDrawerMuteStatus(ELeftOrRight drawerType)
    {
        switch (drawerType)
        {
        case ELeftOrRight.Left:
            SourceEffectsLeftDrawer.mute = !GrimDeskDrawer.instanceLeft.IsOpen();
            //Debug.Log("left drawer mute: " + SourceEffectsLeftDrawer.mute);
            break;

        case ELeftOrRight.Right:
            SourceEffectsRightDrawer.mute = !GrimDeskDrawer.instanceRight.IsOpen();
            //Debug.Log("right drawer mute: " + SourceEffectsRightDrawer.mute);
            break;

        case ELeftOrRight.MAX:
            break;
        }
    }
Exemplo n.º 3
0
    public void Step()
    {
        switch (CurrentStepRotation)
        {
        case ELeftOrRight.Left:
            gameObject.transform.eulerAngles = new Vector3(0, 0, 15);
            CurrentStepRotation = ELeftOrRight.Right;

            break;

        case ELeftOrRight.Right:
            gameObject.transform.eulerAngles = new Vector3(0, 0, -15);
            CurrentStepRotation = ELeftOrRight.Left;
            break;
        }
        PendingSteps--;
        CurrentStepDelay = StepDelay;

        //StartCoroutine(StepRoutine());
        switch (CurrentStepDirection)
        {
        case ELeftOrRight.Left:
        {
            CurrentStepDelta--;
            gameObject.transform.position = gameObject.transform.position + new Vector3(-StepLength, 0.0f);
            break;
        }

        case ELeftOrRight.Right:
        {
            CurrentStepDelta++;
            gameObject.transform.position = gameObject.transform.position + new Vector3(StepLength, 0.0f);
            break;
        }
        }
        if (PendingSteps <= 0)
        {
            bIsMoving = false;
            gameObject.transform.eulerAngles = new Vector3();
            MovementDelayTimer = Random.Range(1.0f, 10.0f);
        }
    }
Exemplo n.º 4
0
    public void PlayDrawerEffect(AudioClip clip, ELeftOrRight drawerType, float volumeScale = 1.0f)
    {
        switch (drawerType)
        {
        case ELeftOrRight.Left:
            SourceEffectsLeftDrawer.Stop();
            SourceEffectsLeftDrawer.volume = Mathf.Clamp(SaveManager.instance.CurrentOptions.VolumeGeneral * SaveManager.instance.CurrentOptions.VolumeMaster * volumeScale, 0.0f, 1.0f);
            SourceEffectsLeftDrawer.clip   = clip;
            SourceEffectsLeftDrawer.Play();
            break;

        case ELeftOrRight.Right:
            SourceEffectsRightDrawer.Stop();
            SourceEffectsRightDrawer.volume = Mathf.Clamp(SaveManager.instance.CurrentOptions.VolumeGeneral * SaveManager.instance.CurrentOptions.VolumeMaster * volumeScale, 0.0f, 1.0f);
            SourceEffectsRightDrawer.clip   = clip;
            SourceEffectsRightDrawer.Play();
            break;

        case ELeftOrRight.MAX:
            break;
        }
    }
Exemplo n.º 5
0
    public void StartMoving()
    {
        CurrentStepDelay = 0.0f;
        bIsMoving        = true;

        bool canMoveRight = AllowedStepsRight > 0 && CurrentStepDelta < AllowedStepsRight || AllowedStepsRight == 0 && CurrentStepDelta < 0;
        bool canMoveLeft  = AllowedStepsLeft > 0 && CurrentStepDelta > -AllowedStepsLeft || AllowedStepsLeft == 0 && CurrentStepDelta > 0;

        if (canMoveRight && !canMoveLeft)
        {
            CurrentStepDirection = ELeftOrRight.Right;
            ChibiRenderer.flipX  = false;
            PendingSteps         = Random.Range(1, AllowedStepsLeft + AllowedStepsRight + 1);
        }
        else if (!canMoveRight && canMoveLeft)
        {
            CurrentStepDirection = ELeftOrRight.Left;
            ChibiRenderer.flipX  = true;
            PendingSteps         = Random.Range(1, AllowedStepsLeft + AllowedStepsRight + 1);
        }
        else if (canMoveLeft && canMoveRight)
        {
            CurrentStepDirection = Random.Range(0, 2) == 0 ? ELeftOrRight.Left : ELeftOrRight.Right;
            switch (CurrentStepDirection)
            {
            case ELeftOrRight.Left:
                PendingSteps        = Random.Range(1, Mathf.Abs(AllowedStepsLeft + CurrentStepDelta) + 1);
                ChibiRenderer.flipX = true;
                break;

            case ELeftOrRight.Right:
                PendingSteps        = Random.Range(1, Mathf.Abs(AllowedStepsRight - CurrentStepDelta) + 1);
                ChibiRenderer.flipX = false;
                break;
            }
        }
    }