// Update is called once per frame void Update() { if (Mathf.Abs(r2.velocity.x) >= 0.01 && miner.CanMove()) { miner.UpdateState((int)Miner.MINER_STATE.MOVING); } else { if (miner.GetState() == (int)Miner.MINER_STATE.MOVING) { miner.UpdateState((int)Miner.MINER_STATE.IDLE); } } }