Dữ liệu tháp
Bài học 14 trên 25 trong khóa học Game Unity: thủ thành của Coddy.
Một tháp thứ hai sắp xuất hiện, tháp Cannon, với bộ chỉ số riêng. Cũng như kẻ địch, các chỉ số được chuyển vào một asset, TowerData, mỗi loại có một asset: dự án có ArrowData (giá 50, sát thương 2, tầm bắn 4.5, fireRate 1.5). Prefab lưu thông tin về hình dáng của tháp, còn tập lệnh Tower trỏ đến asset của nó.
[CreateAssetMenu] phía trên lớp ScriptableObject sẽ thêm lớp này vào menu Create của Unity, để bạn có thể tạo asset mới trong Editor. Asset của kẻ địch có thuộc tính này:
[CreateAssetMenu(fileName = "NewEnemy", menuName = "Tower Defense/Enemy Data")]
public class EnemyData : ScriptableObjectThử thách
Trung bìnhChuyển các chỉ số của từng tháp vào một tài sản TowerData.
- Trong
TowerData.cs, thêm[CreateAssetMenu]và các trường publictowerName(chuỗi),costvàdamage(số nguyên),rangevàfireRate(số thực). - Trong
Tower, thay bốn trường đó bằngpublic TowerData data;rồi đọcdata.range,data.damagevàdata.fireRate. - Trong
BuildManager, thanh toántowerPrefab.data.cost.
Nhấn Chơi: Arrow chiến đấu như trước, nhưng giờ dùng ArrowData. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
// Sẽ bổ sung sau: các chỉ số của một loại tháp, dưới dạng asset.
public class TowerData : ScriptableObject
{
}
Tất cả bài học trong Game Unity: thủ thành
Tự luyện tập: Playground Unity