示例#1
0
 private void _UpdateState()
 {
     _currentState = observedItemData.state;
 }
示例#2
0
    private void _StateBasedComponentConfiguration(ServiceLocator.ItemStates state)
    {
        Debug.Log("Shift in item state. " + gameObject.name + " is now " + state.ToString());
        if (state == ServiceLocator.ItemStates.Held)
        {
            Destroy(_rb);

            _trig.enabled = false;
            _mr.enabled   = true;
            _col.enabled  = true;

            if (observedItemData == _objIntModel.p0_InteractableGrabbed)
            {
                transform.SetParent(ServiceLocator.Instance.Character0);
            }
            else
            {
                transform.SetParent(ServiceLocator.Instance.Character1);
            }
        }
        else if (state == ServiceLocator.ItemStates.Loose)
        {
            if (_rb == null)
            {
                _rb = gameObject.AddComponent <Rigidbody>();
                serializedRigidBody.RestoreRigidbody(_rb);
            }

            _rb.isKinematic = false;
            _trig.enabled   = true;
            _mr.enabled     = true;
            _col.enabled    = true;

            transform.SetParent(_interactiveAssetsTransform);
        }
        else if (state == ServiceLocator.ItemStates.Stowed)
        {
            if (_rb == null)
            {
                _rb = gameObject.AddComponent <Rigidbody>();
                serializedRigidBody.RestoreRigidbody(_rb);
            }

            _rb.isKinematic = true;
            _trig.enabled   = false;
            _mr.enabled     = false;
            _col.enabled    = false;

            transform.SetParent(_interactiveAssetsTransform);
        }
        else if (state == ServiceLocator.ItemStates.Ejecting)
        {
            if (_rb == null)
            {
                _rb = gameObject.AddComponent <Rigidbody>();
                serializedRigidBody.RestoreRigidbody(_rb);
            }

            _rb.isKinematic = false;
            _trig.enabled   = false;
            _mr.enabled     = true;
            _col.enabled    = false;

            transform.SetParent(_interactiveAssetsTransform);
        }
    }