Sistem Acara luar biasa, mereka membuat kode sangat jinak dan benar-benar memungkinkan terciptanya permainan yang dinamis melalui komunikasi objek dan loop game yang mudah. Saya mengalami kesulitan dengan efisiensi implementasi saya saat ini. Saat ini sedikit optimisasi saya memisahkan daftar objek ke dalam peristiwa yang mereka respon telah melakukan keajaiban, tetapi harus ada lebih banyak yang bisa saya lakukan.
Saat ini saya memiliki dua metode:
Sederhana: semua objek ditambahkan ke vektor ketika suatu peristiwa dikirim semua objek dikirimi peristiwa melalui metode handle_event ()
Lebih kompleks: Saya memiliki peta dengan string sebagai kunci dan int sebagai nilainya. Ketika suatu jenis peristiwa ditambahkan, itu ditambahkan ke peta ini, dengan int hanya ditambahkan (harus ada cara yang lebih baik)
vektor vektor objek kemudian mendorong kembali vektor baru untuk menangani jenis peristiwa tersebut.
Ketika suatu peristiwa dipanggil, panggil saja int yang terkait dalam map eventTypes ke jenis di dalam vektor vektor objek dan kirimkan peristiwa itu ke setiap objek yang menangani jenis peristiwa itu.
Metode pertama ini cukup lambat (jelas) untuk banyak objek, tetapi cukup cepat untuk sangat sedikit objek. Sedangkan metode kedua cukup cepat dengan objek besar yang ingin menangani berbagai jenis peristiwa, tetapi lebih lambat dari metode pertama per objek dengan objek yang menangani jenis peristiwa yang sama.
Apakah ada cara yang lebih cepat (lebih hemat waktu)? Apakah ada cara yang lebih cepat untuk mencari int dari tipe string? (Awalnya saya punya enum, tetapi tidak mengizinkan jenis kustom, yang diperlukan karena tingkat dinamisme yang diinginkan.)