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; } }
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; } }