예제 #1
0
 private void MimicSuccess()
 {
     _entityInventory.AddAnimal(_mimicEmitter.GetAnimalBasicItem());
     _mimicEmitter.MimicSuccess();
     _state = MimicStatus.END;
     StartCoroutine(EndMimic(true));
 }
예제 #2
0
    private void OnAnimalTurn()
    {
        _state = MimicStatus.ANIMAL_TURN;

        _turn++;
        if (_turn > 1)
        {
            _numberOfSounds += numberOfSoundsIncreaseAmount;
        }
        if (_turn > numberOfTurns)
        {
            MimicSuccess();
            return;
        }

        if (_playerSounds == null)
        {
            _playerSounds = new List <int>();
        }
        else
        {
            _playerSounds.Clear();
        }

        GenerateTurnSound(_numberOfSounds);

        StartCoroutine(PlayAnimalSounds());
    }
예제 #3
0
    private void MimicFailure()
    {
        _mimicEmitter.MimicFailure();
        _state = MimicStatus.END;
        InteractionController ic = _mimicEmitter.GetComponent <InteractionController>();

        if (ic != null)
        {
            ic.enabled = true;
        }
        StartCoroutine(EndMimic(false));
    }
예제 #4
0
    private void FailedTurn()
    {
        if (--_lives <= 0)
        {
            MimicFailure();
        }
        else
        {
            _turn           = 0;
            _state          = MimicStatus.ANIMAL_TURN;
            _numberOfSounds = initialNumberOfSounds;

            StartCoroutine(WarningTurnFailure());
        }
    }
예제 #5
0
    private void OnEnable()
    {
        _turn           = 0;
        _lives          = numberOfLives;
        _state          = MimicStatus.ANIMAL_TURN;
        _numberOfSounds = initialNumberOfSounds;

        transform.position = _mimicEmitter.transform.position;

        InteractionController ic = _mimicEmitter.GetComponent <InteractionController>();

        if (ic != null)
        {
            ic.enabled = false;
        }

        SetActiveUI(true);

        onStart.Invoke();
        OnAnimalTurn();
    }
예제 #6
0
    private void AnnouncerText(MimicStatus state)
    {
        string message;

        switch (state)
        {
        case MimicStatus.ANIMAL_TURN:
            message = "Animal";
            break;

        case MimicStatus.PLAYER_TURN:
            message = "Player";
            break;

        default:
            return;
        }

        message += " turn";
        SetText(_announcerText, message);
    }
예제 #7
0
 private void Start()
 {
     _state = MimicStatus.END;
 }
예제 #8
0
 private void OnPlayerTurn()
 {
     _state = MimicStatus.PLAYER_TURN;
 }