private void CheckForDirectionChange(GameObject collisionGameObject) { if (_direction == BARREL_DIRECTION.RIGHT && collisionGameObject.name == "RightWall") { _direction = BARREL_DIRECTION.FALL_RIGHT; } else if (_direction == BARREL_DIRECTION.FALL_RIGHT && collisionGameObject.name == "Top") { _direction = BARREL_DIRECTION.RIGHT_FORWARD; } else if ((_direction == BARREL_DIRECTION.RIGHT_FORWARD || _direction == BARREL_DIRECTION.SHORTCUT_RIGHT_FORWARD) && collisionGameObject.name == "FrontWall") { _direction = BARREL_DIRECTION.LEFT; } else if (_direction == BARREL_DIRECTION.LEFT && collisionGameObject.name == "LeftWall") { _direction = BARREL_DIRECTION.FALL_LEFT; } else if (_direction == BARREL_DIRECTION.FALL_LEFT && collisionGameObject.name == "Top") { _direction = BARREL_DIRECTION.LEFT_FORWARD; } else if ((_direction == BARREL_DIRECTION.LEFT_FORWARD || _direction == BARREL_DIRECTION.SHORTCUT_LEFT_FORWARD) && collisionGameObject.name == "FrontWall") { _direction = BARREL_DIRECTION.RIGHT; } }
public void PerformShortcut() { if (_direction == BARREL_DIRECTION.RIGHT) { _direction = BARREL_DIRECTION.SHORTCUT_RIGHT_FORWARD; } if (_direction == BARREL_DIRECTION.LEFT) { _direction = BARREL_DIRECTION.SHORTCUT_LEFT_FORWARD; } }
void Start() { _direction = BARREL_DIRECTION.RIGHT; rigidBody = gameObject.GetComponent <Rigidbody>(); }