Thành phần
Trong Craftland Studio PC, “thành phần” có thể được hiểu là thùng chứa dữ liệu.
Một thực thể bản thân nó chỉ là một dấu hiệu trống, những gì nó có thể làm và cách nó hoạt động hoàn toàn phụ thuộc vào những thành phần được gắn vào nó.
- Thành phần di chuyển: chỉ lưu trữ dữ liệu liên quan đến di chuyển, ví dụ như tốc độ di chuyển, hướng di chuyển.
- Thành phần hiển thị: lưu trữ dữ liệu cần thiết cho hiển thị, ví dụ như mô hình, vật liệu.
- Thành phần va chạm: lưu trữ dữ liệu dùng để phát hiện va chạm, ví dụ như thể tích va chạm, hình dạng.
Hệ thống sẽ tìm kiếm các thực thể có tổ hợp thành phần cụ thể, sau đó dựa trên dữ liệu trong các thành phần này để quyết định thực hiện hành vi logic nào đối với các thực thể này.
Quản lý thành phần
Bạn có thể truy cập quản lý thành phần từ menu


Từ thành phần, bạn cũng có thể truy cập trực tiếp vào giao diện quản lý thành phần đó:


Tập lệnh
Để gắn kịch bản cho thành phần, tương đương với việc gắn kịch bản cho tất cả các thực thể sử dụng thành phần đó:



Thuộc tính
Thuộc tính mặc định
Theo mặc định, hầu hết các thành phần đều có thuộc tính mặc định.

Loại thuộc tính
Thuộc tính được chia thành thuộc tính chỉ đọc và thuộc tính có thể ghi, thuộc tính chỉ đọc chỉ có thể truy vấn giá trị, không thể sửa đổi bằng tập lệnh; thuộc tính có thể ghi có thể sửa đổi bằng tập lệnh.

Thuộc tính có thể ghi

Thuộc tính chỉ đọc
Có thể xác định thuộc tính có thể ghi được hay không thông qua việc mục thuộc tính mặc định có được đánh dấu hay không.

Ví dụ, thuộc tính vị trí của người chơi khác với thuộc tính vị trí của thành phần transform được sử dụng bởi các đối tượng khác, không thể sửa đổi trực tiếp bằng cách thiết lập API thuộc tính. Nếu muốn di chuyển người chơi, nên sử dụng API truyền người chơi được tạo riêng:
![image-20251201113913733] (https://dl.dir.freefiremobile.com/common/OB46/CSH/OfficialWeb/44_Component/image-20251201113913733.png)
Sử dụng API thiết lập thuộc tính để sửa đổi thuộc tính có thể ghi; sử dụng API lấy thuộc tính để đọc giá trị thuộc tính:

Ngoài ra, một số thuộc tính mặc định chỉ được sử dụng trên máy chủ, nếu cố gắng sửa đổi trên máy khách sẽ báo lỗi. Trong kịch bản đồ họa, các thuộc tính này sẽ được tự động lọc theo nền tảng chạy kịch bản.
Thuộc tính tùy chỉnh
Ngoài các thuộc tính mặc định mở, quý vị cũng có thể thêm thuộc tính tùy chỉnh cho thành phần, các thuộc tính tùy chỉnh đều có thể ghi và là thuộc tính hai chiều.

Kiểm tra thuộc tính tùy chỉnh
Có thể quý vị đã nhận thấy, sau thuộc tính tùy chỉnh có một biểu tượng giám sát:

Khi bật tính năng giám sát này, khi thuộc tính tùy chỉnh thay đổi giá trị, hệ thống sẽ gửi một sự kiện liên quan đến “thay đổi thuộc tính tùy chỉnh” theo logic sau.
- Khi thuộc tính này được sửa đổi trên logic máy chủ, sự kiện sẽ được gửi đến máy chủ và máy khách.
- Khi thuộc tính này được sửa đổi trên logic máy khách, sự kiện sẽ chỉ được gửi đến máy khách.
Thông qua sự kiện thay đổi thuộc tính tùy chỉnh, quý vị có thể dễ dàng phát hiện sự thay đổi của thuộc tính tùy chỉnh hơn, từ đó chỉnh sửa logic tiếp theo:

Nếu có nhiều thuộc tính tùy chỉnh được bật tính năng phát hiện thay đổi, thì bạn có thể xác định thuộc tính cụ thể nào đã thay đổi thông qua ID thuộc tính tùy chỉnh:

Khi sử dụng ID thuộc tính tùy chỉnh, cần chỉ định thủ công loại thành phần
Thành phần liên quan
Một thành phần có thể có nhiều thành phần liên quan, các thành phần kết hợp, tham chiếu hoặc phụ thuộc lẫn nhau, từ đó xác định ranh giới khả năng của một thực thể về mặt logic và dữ liệu.
Ví dụ: thành phần Player được liên kết với các thành phần Combatable, Scoreable, v.v., thực thể người chơi sử dụng thành phần Player cũng có thể sử dụng dữ liệu và sự kiện của Combatable, Scoreable.
