Example #1
0
void CameraZone::Update() {
	_was_camera_inside = _camera_inside;
	_was_player_sprite_inside = _player_sprite_inside;

	VirtualSprite* camera = MapMode::CurrentInstance()->GetCamera();
	if (camera == NULL) {
		_camera_inside = false;
	}
	// Camera must share a context with the zone and be within its borders
	else if ((_active_contexts & camera->GetContext()) && (IsInsideZone(camera->x_position, camera->y_position) == true)) {
		_camera_inside = true;
	}
	else {
		_camera_inside = false;
	}

	VirtualSprite* player = MapMode::CurrentInstance()->GetPlayerSprite();
	if (player == NULL) {
		_player_sprite_inside = false;
	}
	// Camera must share a context with the zone and be within its borders
	else if ((_active_contexts & player->GetContext()) && (IsInsideZone(player->x_position, player->y_position) == true)) {
		_player_sprite_inside = true;
	}
	else {
		_player_sprite_inside = false;
	}
}
Example #2
0
void CameraZone::Update() {
	_was_camera_inside = _camera_inside;

	// Update only if camera is on a real sprite
	if (MapMode::CurrentInstance()->IsCameraOnVirtualFocus()) {
		return;
	}

	VirtualSprite* camera = MapMode::CurrentInstance()->GetCamera();
	if (camera == NULL) {
		_camera_inside = false;
	}
	// Camera must share a context with the zone and be within its borders
	else if ((_active_contexts & camera->GetContext())
			&& (IsInsideZone(camera->GetXPosition(), camera->GetYPosition()))) {
		_camera_inside = true;
	}
	else {
		_camera_inside = false;
	}
}