Với những bạn mới học Unreal, hẳn các bạn sẽ đã đi qua quá trình kiểm tra rườm ra như ví dụ sau:

Giả sử bạn có nhiều nhân vật chơi, mỗi nhân vật có một nghề nghiệp khác nhau, ví dụ như có nhân vật là kĩ sư, có nhân vật là bác sĩ,… Khi có nhiều nhân vật trong màn chơi, làm thế nào để biết nghề của nhân vật là gì, cách phổ biến với các bạn mới học Unreal đó là sẽ dùng String để đại diện, hoặc là mỗi nhân vật có một boolean

hoặc

Và khi cần kiểm tra xem nhân vật là class gì, các bạn thường làm là

Nếu số lượng thuộc tính cần kiểm tra ít thì có thể chấp nhận được, nhưng nếu nó nhiều thì toang!

Hoặc nếu là String, cách làm cũng có vấn đề y v

Để có thể đơn giản hóa quy trình cũng như giúp hệ thống trở nên rành mạnh và logic hơn, ta có thể sử dụng Enumeration hay còn gọi là Enum.

Cách khởi tạo một enum

Để tạo, ta chuột phải vào Content Browser -> Blueprints -> Enumeration

và đặt tên là EPlayerClass.

Sau đó, để tạo các giá trị của EPlayerClass, ta ấn vào nút New nằm phía phải màn hình:

Ta lần lượt add 3 lần tương ứng với 3 nghề

Như vậy là chúng ta đã hoàn thành khâu khởi tạo enum EPlayerClass.

Cách Sử dụng enum

Enum được sử dụng hiệu quả nhất khi kết hợp với lập trình hướng đối tượng. Tức là khi đó, bạn sẽ có một class mẹ (parent) chứa biến EPlayerClass, và các class con (child) chỉ thay đổi giá trị của biến đó. Mình sẽ không đề cập tới cách làm cụ thể trong bài này.

Ta sẽ tạo biến mới tên là Class, Variable Type là enum ta vừa tạo trên

Và khi cần xử lí liên quan đến nghề nghiệp, ta chỉ cần dùng với switch

Tất cả những khâu check dài dòng phía trên có thể tóm gọn lại bằng những đoạn switch. Nếu ta có nhiều nghề nghiệp thì cái switch chỉ có dài hơn thôi chứ k rối hơn.

Ngoài ra nếu mà bạn muốn lấy tên nghề nghiệp, bạn có thể dùng Enum To String như comment ở trên.

Kết luận

Xin lỗi mọi người dạo này mình ra bài hơn chậm tại mình bận quá 🙁