コード例 #1
0
    // ================================== MONOBEHAVIOUR ====================================

    private void Awake()
    {
        _rigidbody    = GetComponent <Rigidbody>();         // Initialize Rigidbody component
        _animator     = GetComponent <Animator>();          // Initialize Animator component
        _robotUtility = GetComponent <ARobotUtility>();
        SetComponentAttachments();
    }
コード例 #2
0
    // Show HUD for Robot utillities with it's current state
    private void DisplayUtility()
    {
        if (_utilityDisplay == null)
        {
            return;                                                                     // Check if HUD for utilities exists
        }
        if (_robotUtility == null)                                                      // Check if robot utilites exist
        {
            _robotUtility = _robot.GetComponent <ARobotUtility>();
        }
        else
        {
            _utilityDisplay.fillAmount = Mathf.Lerp(_utilityDisplay.fillAmount,         // Display robot utility
                                                    _robotUtility.RechargeRatio,
                                                    Time.deltaTime * _smoothChange);

            if (_robotUtility.RechargeRatio < _robotUtility.UsabilityRatio)              // Change utility color
            {
                _utilityDisplay.color = _utilityDisabledColor;
            }
            else
            {
                _utilityDisplay.color = _utilityEnabledColor;
            }
        }
    }
コード例 #3
0
 // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     _utility = animator.GetComponent <ARobotUtility>();
     _utility?.Activate();
 }