Пример #1
0
 public void Grab(bool value, MirrorDudeController controller)
 {
     _grabbedController = value ? controller : null;
     if (!value)
     {
         transform.position = _ogPos;
     }
 }
Пример #2
0
 public void Press(bool value, MirrorDudeController controller)
 {
     if (value)
     {
         transform.localScale = _defaultScale * .9f;
         GetComponent <Renderer>().material.color = _defaultColor + Color.white * .5f;
     }
     else
     {
         transform.localScale = _defaultScale;
         GetComponent <Renderer>().material.color = _defaultColor;
     }
 }
Пример #3
0
    private void Update()
    {
        if (!_grabbedController)
        {
            return;
        }
        Vector3 controllerPos = _grabbedController.transform.position;

        switch (direction)
        {
        case SliderDirection.downToUp:
            if (controllerPos.y < _ogPos.y)
            {
                break;
            }
            transform.position = new Vector3(
                transform.position.x,
                controllerPos.y,
                transform.position.z);
            break;

        case SliderDirection.upToDown:
            if (controllerPos.y > _ogPos.y)
            {
                break;
            }
            transform.position = new Vector3(
                transform.position.x,
                controllerPos.y,
                transform.position.z);
            break;

        case SliderDirection.leftToRight:
            if (controllerPos.x < _ogPos.x)
            {
                break;
            }
            transform.position = new Vector3(
                controllerPos.x,
                transform.position.y,
                transform.position.z);
            break;

        case SliderDirection.rightToLeft:
            if (controllerPos.x > _ogPos.x)
            {
                break;
            }
            transform.position = new Vector3(
                controllerPos.x,
                transform.position.y,
                transform.position.z);
            break;

        case SliderDirection.frontToBack:
            if (controllerPos.z < _ogPos.z)
            {
                break;
            }
            transform.position = new Vector3(
                transform.position.x,
                transform.position.y,
                controllerPos.z);
            break;
        }
        if (!(Vector3.Distance(transform.position, _ogPos) > sliderLength))
        {
            return;
        }
        OnActivation.Invoke();
        transform.position = _ogPos;
        _grabbedController = null;
        GetComponent <Renderer>().material.color = _defaultColor;
        transform.localScale = _defaultScale;
    }