[Chapter 66] Tooltip bug on casting a targeted spell
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu với chapter-66-spells/src/inventory_system/mod.rs ở dòng 41 và chapter-66-spells/src/gui.rs ở dòng 51, sau đó theo dõi cách draw_tooltips, get_item_display_name và obfuscate_name xử lý các entity có Position nhưng không có Name. Tái hiện vấn đề bằng cách sử dụng một phép thuật nhắm mục tiêu như Zap trong khi di con trỏ lên một ô. Hoàn tất nghĩa là particle dự kiến không còn tạo tooltip Nameless item (bug) nữa, và các hàm được nêu tên đã được refactor để tránh các bug đã báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
https://github.com/amethyst/rustrogueliketutorial/blob/33872fe582f226178436847e1f74eafcbf9c0d1a/chapter-66-spells/src/inventory_system/mod.rs#L41
https://github.com/amethyst/rustrogueliketutorial/blob/33872fe582f226178436847e1f74eafcbf9c0d1a/chapter-66-spells/src/gui.rs#L51
When casting a targeted spell (like Zap), a tooltip will be displayed with the Nameless item (bug) string.
This is because the tooltip logic will loop on every entity with a Position component and try to display it.
However, when spawning a Particle, it is expected for it to have a Position but no Name.
When casting the spell, a Particle is spawned on the exact tile the player is hovering, so the draw_tooltips logic catches it and tries to display it. But since it has no Name (which is expected), it displays this string.
We need to either:
- Filter entities we pass to
get_item_display_namedifferently so particles are omitted - Return
Nonefor an entity with noNamecomponent
Additionally, the code for get_item_display_name and obfuscate_name should be refactored to avoid bugs.
(get_item_display_name could simply get the proper stores and call obfuscate_name.)
- Ngôn ngữ chính
- Rust
- Star
- 967
- Fork
- 165
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của amethyst/rustrogueliketutorial
-
Wrong typing in chapter 57aĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
[RESOLVED] Wayland IssueĐang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 45/100
Tất cả issue của amethyst/rustrogueliketutorial
Issue tương tự
-
good first issue gpu serve
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation E-easy good first issue help wanted
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 91/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
charles-hood/DiagramCraft#73 ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
ontologyportal/sigma-rs#200 ·
Maintainer thường phản hồi trong vòng 1 ngày