示例#1
0
 void OnRaiseUpEvent()
 {
     if (state == ButtonHolderState.Down || state == ButtonHolderState.Lowering)
     {
         state = ButtonHolderState.Rising;
     }
 }
示例#2
0
 public void OnButtonPress()
 {
     if (state == ButtonHolderState.Up)
     {
         state = ButtonHolderState.Lowering;
     }
 }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.S))
        {
            OnButtonPress();
        }
        if (Input.GetKeyDown(KeyCode.W))
        {
            OnRaiseUpEvent();
        }


        if (state == ButtonHolderState.Lowering)
        {
            Vector3 translation = new Vector3();
            translation.y = -speed * Time.deltaTime;
            transform.Translate(translation);
            if (transform.position.y < lowestY)
            {
                Vector3 newPos = transform.position;
                newPos.y           = lowestY;
                transform.position = newPos;
                // TODO
                //state = ButtonHolderState.Down;
                state = ButtonHolderState.Rising;
            }
        }
        else if (state == ButtonHolderState.Rising)
        {
            Vector3 translation = new Vector3();
            translation.y = speed * Time.deltaTime;
            transform.Translate(translation);
            if (transform.position.y > highestY)
            {
                Vector3 newPos = transform.position;
                newPos.y           = highestY;
                transform.position = newPos;
                state = ButtonHolderState.Up;
            }
        }
    }
示例#4
0
 void Awake()
 {
     state = ButtonHolderState.Rising;
     //highestY = transform.position.y;
 }