Tôi đang tìm giải pháp cho hành vi "Tùy chọn nhấp chuột phải".
Về cơ bản bất kỳ và mọi vật phẩm trong trò chơi, khi nhấp chuột phải, có thể hiển thị một tập hợp các tùy chọn dựa trên bất kỳ đối tượng nào.
Ví dụ nhấp chuột phải cho các kịch bản khác nhau :
Hàng tồn kho: Mũ bảo hiểm hiển thị các tùy chọn (Trang bị, Sử dụng, Thả, Mô tả)
Ngân hàng: Mũ bảo hiểm hiển thị các tùy chọn (Lấy 1, Lấy X, Lấy tất cả, Mô tả)
Tầng: Mũ bảo hiểm hiển thị các tùy chọn (Đưa, Đi bộ tại đây, Mô tả)
Rõ ràng mỗi tùy chọn bằng cách nào đó chỉ ra một phương pháp nhất định thực hiện những gì được nói. Đây là một phần của vấn đề tôi đang cố gắng tìm hiểu. Với rất nhiều tùy chọn hiệu lực cho một mục duy nhất, làm thế nào để các lớp của tôi được thiết kế theo cách sao cho không quá lộn xộn?
- Tôi đã nghĩ về thừa kế nhưng điều đó có thể thực sự dài dòng và chuỗi có thể rất lớn.
- Tôi đã nghĩ về việc sử dụng các giao diện, nhưng điều này có lẽ sẽ hạn chế tôi một chút vì tôi sẽ không thể tải dữ liệu mục từ tệp Xml và đặt nó vào một lớp "Mục" chung.
Tôi đang dựa trên kết quả mong muốn của mình cho một trò chơi tên là Runescape. Mọi đối tượng có thể được nhấp chuột phải trong trò chơi và tùy thuộc vào vị trí của nó và vị trí của nó (kho, sàn, ngân hàng, v.v.) hiển thị một bộ tùy chọn khác nhau có sẵn để người chơi tương tác.
Làm thế nào tôi sẽ đi về việc đạt được điều này? Trước tiên, tôi nên thực hiện phương pháp nào, quyết định lựa chọn nào NÊN được hiển thị và sau khi nhấp, làm thế nào để gọi phương thức tương ứng.
Tôi đang sử dụng C # và Unity3D, nhưng bất kỳ ví dụ nào được cung cấp không phải liên quan đến một trong số chúng vì tôi theo mô hình trái ngược với mã thực tế.
Bất kỳ trợ giúp đều được đánh giá cao và nếu tôi không rõ ràng trong câu hỏi hoặc kết quả mong muốn của mình, xin vui lòng gửi bình luận và tôi sẽ có xu hướng càng sớm càng tốt.
Đây là những gì tôi đã cố gắng cho đến nay:
- Tôi thực sự đã quản lý để thực hiện một lớp "Vật phẩm" chung chứa tất cả các giá trị cho các loại vật phẩm khác nhau (tấn công thêm, phòng thủ thêm, chi phí, v.v.). Các biến này được điền bởi dữ liệu từ tệp Xml.
- Tôi đã nghĩ về việc đặt mọi phương thức tương tác có thể có bên trong lớp Item nhưng tôi nghĩ rằng đây là hình thức lộn xộn và nghèo nàn không thể tin được. Có lẽ tôi đã sử dụng sai cách tiếp cận để triển khai loại hệ thống này khi chỉ sử dụng một lớp và không phân lớp cho các mục khác nhau, nhưng đó là cách duy nhất để tôi có thể tải dữ liệu từ Xml và lưu trữ trong lớp.
- Lý do tôi chọn tải tất cả các mục của mình từ tệp Xml là do trò chơi này có khả năng cho hơn 40.000 mục. Nếu toán của tôi đúng, một lớp cho mỗi mục là rất nhiều lớp.