Jadi, saya mulai memperkenalkan serangan ke ruang 2D RTS kami (Ini di Unity, jadi komponennya didorong). Awalnya itu sesederhana "musuh dalam jangkauan, kerusakan diterapkan". Namun akan ada beberapa "jenis" senjata / serangan yang terkait dengan kapal atau struktur khusus mereka. Serta faktor-faktor lain yang terlibat di masa lalu hanya kerusakan mentah seperti jenis kerusakan, dan mungkin inersia di masa depan.
Apakah kalian memiliki setiap unit dan tipe struktur memiliki tipe serangan itu sendiri. Berarti Anda membuat skrip untuk setiap unit / struktur yang menentukan jenis serangan, kerusakan, efek, jarak, partikel, sprite ... dll. Dan pasang itu sebagai komponen?
Atau buat skrip yang mendefinisikan jenis serangan, skrip untuk jenis proyektil yang terkait dengan itu ... dll. Dan kemudian perluas itu dan modifikasi itu untuk setiap unit, lampirkan setiap skrip ke unit / struktur.
Saya harap saya masuk akal, saya sudah merenungkan ini begitu lama saya tidak yakin apakah saya memecahkan masalah, atau hanya membuat masalah saya sendiri dan menggali diri saya ke dalam lubang.
Ketika Anda memiliki permainan yang dapat memiliki banyak jenis serangan yang mungkin atau mungkin tidak terbatas pada unit / struktur tertentu, bagaimana Anda mendesain kerangka kerja yang mengikat itu bersama-sama dengan unit / struktur tertentu dalam lingkungan desain yang digerakkan oleh komponen ?
Jika ini tidak cukup jelas, beri tahu saya.
Sunting: Jawaban yang bagus, terima kasih.
Pertanyaan yang Diperluas:
Jawabannya tampaknya bervariasi dari "setiap objek dapat memiliki skrip serangannya sendiri" hingga "Memiliki jenis serangan sebagai skrip mereka sendiri dan menetapkan bahwa untuk setiap objek untuk solusi yang lebih dapat digunakan kembali". Katakanlah saya memiliki serangan "blaster", ia menembakkan proyektil merah pada kecepatan tertentu. Kerusakan, laju kebakaran, dan ukuran proyektil tergantung pada unit yang menembaknya. Apakah lebih baik membuat skrip serangan untuk unit itu, atau mencoba dan memodifikasi "serangan blaster" agar sesuai dengan tujuan setiap unit yang ingin menggunakannya?