void OnRaiseUpEvent() { if (state == ButtonHolderState.Down || state == ButtonHolderState.Lowering) { state = ButtonHolderState.Rising; } }
public void OnButtonPress() { if (state == ButtonHolderState.Up) { state = ButtonHolderState.Lowering; } }
// 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; } } }
void Awake() { state = ButtonHolderState.Rising; //highestY = transform.position.y; }