コード例 #1
0
    void MovementModeChanged(BuddyMovementModes newMode)
    {
        switch (newMode)
        {
        case BuddyMovementModes.FloatingToHand:
            _animator.SetTrigger(_floatingParameter);
            break;

        case BuddyMovementModes.Falling:
            _animator.SetTrigger(_floatingParameter);
            break;

        case BuddyMovementModes.Idle:
            _animator.SetTrigger(_wavingParameter);
            break;

        case BuddyMovementModes.Walking:
            _animator.SetTrigger(_walkingParameter);
            break;

        case BuddyMovementModes.AttachedToHand:
            _animator.SetTrigger(_talkingParameter);
            break;
        }
    }
コード例 #2
0
    void ChangeMovementMode(BuddyMovementModes newMode)
    {
        //End previous state
        switch (_movementMode)
        {
        case BuddyMovementModes.AttachedToHand:
            break;

        case BuddyMovementModes.FloatingToHand:
            break;

        case BuddyMovementModes.Falling:
            break;

        case BuddyMovementModes.Idle:
            break;

        case BuddyMovementModes.Walking:
            break;
        }

        //Initiate new state
        switch (newMode)
        {
        case BuddyMovementModes.AttachedToHand:
            break;

        case BuddyMovementModes.FloatingToHand:
            _movementSpeed = 0;
            break;

        case BuddyMovementModes.Falling:
            break;

        case BuddyMovementModes.Idle:
            Vector3 lookAtPosition = new Vector3(_playerHeadTransform.position.x, transform.position.y, _playerHeadTransform.position.z);
            transform.LookAt(lookAtPosition);
            break;

        case BuddyMovementModes.Walking:
            _movementSpeed           = _walkingSpeed;
            _movementDirection       = transform.forward;
            _movementTargetTransform = _idlePositionTransform;
            break;
        }

        _movementMode = newMode;
        OnMovementModeChanged?.Invoke(newMode);
    }
コード例 #3
0
ファイル: BuddySpeech.cs プロジェクト: MikouZonata/BubbleBox
    void TimerBoundSpeeches()
    {
        if (_movementMode != _movement.MovementMode)
        {
            StopAllSpeech();
            _movementMode = _movement.MovementMode;
        }

        if (_cooldownTimer <= 0 && _activeTextRoutine == null)
        {
            switch (_movementMode)
            {
            default:
                break;

            case BuddyMovementModes.Idle:
                if (!_hasBeenPickedUp)
                {
                    SaySomething(SpeechDistances.FarAway, _speechData.pickMeUpData);
                }
                else
                {
                    SaySomething(SpeechDistances.FarAway, _speechData.goExploreData);
                }
                break;

            case BuddyMovementModes.AttachedToHand:
                SaySomething(SpeechDistances.CloseBy, _speechData.niceToMeetYouData);
                _hasBeenPickedUp = true;
                break;
            }
        }
        else
        {
            _cooldownTimer -= Time.deltaTime;
        }
    }
コード例 #4
0
ファイル: BuddySpeech.cs プロジェクト: MikouZonata/BubbleBox
 void Start()
 {
     _movementMode = _movement.MovementMode;
 }