Bu yüzden, 2D uzay RTS'imize saldırmayı tanıtmaya başlıyorum (Bu Unity'de, bu yüzden bileşen odaklı). Başlangıçta "menzil içindeki düşman, hasar uygulandı" kadar basitti. Ancak, kendi gemileriyle veya yapılarıyla ilişkilendirilen birden fazla "tip" silah / saldırı olacaktır. Hasar türü ve muhtemelen atalet gibi sadece ham hasarı geçmiş diğer faktörlerin yanı sıra.
Her birimin ve yapı tipinin kendi saldırı tipi var mı? Yani her birim / yapı için saldırı tipi, hasar, efekt, menzil, parçacıklar, sprite ... vb tanımlayan bir komut dosyası yapmak Ve bir bileşen olarak eklemek?
Ya da bir saldırı türünü tanımlayan bir komut dosyası, bununla ilişkili mermi türü için bir komut dosyası yapın ... vb. Ve sonra bunları genişletin ve her birim için olanları değiştirin, her komut dosyasını birime / yapıya ekleyin.
Umarım bir anlam ifade ederim, bunu çok uzun zamandır düşünmekteyim, bir problemi çözüp çözmediğimden emin değilim, ya da sadece kendi problemlerimi uydurup kendimi bir çukura kazıyorum.
Belirli bir birim / yapı ile sınırlı olabilecek veya sınırlandırılmayacak çok sayıda saldırı türüne sahip olabileceğiniz bir oyununuz olduğunda, bunu bileşen odaklı bir tasarım ortamındaki belirli birimlere / yapılara bağlayan çerçeveyi nasıl tasarlarsınız? ?
Bu yeterince açık değilse bana bildirin.
Düzenleme: Harika yanıtlar, teşekkür ederim.
Genişletilmiş Soru:
Yanıtlar, "her nesnenin kendi saldırı komut dosyası olabilir" den "Saldırı türlerini kendi komut dosyaları olarak kullanmak ve her nesneye daha yeniden kullanılabilir bir çözüm için atamak" şeklinde değiştiği görülmektedir. Diyelim ki bir "blaster" saldırım var, belirli bir hızda kırmızı bir mermi vuruyor. Hasar, ateş hızı ve mermi boyutu onu ateşleyen birime bağlıdır. Bu birim için bir saldırı komut dosyası yapmak mı yoksa kullanmak isteyen her birimin amacına uyacak şekilde bir "blaster saldırısı" nı değiştirmek ve değiştirmek mi daha iyidir?