Events
Ini tipe event yang paling sering dipakai duluan sama mod author.
Event client instance
| Event | Cocok untuk | Contoh penggunaan |
|---|---|---|
ClientInstanceEvent | akses client | simpan referensi client aktif |
CancelableClientInstanceEvent | stop aksi | hentikan sesuatu sebelum lanjut |
ClientInstanceUpdateEvent | alur startup / init | jalankan kode setelah init selesai |
Contoh
cpp
CampAPI::ModuleScope scope;
scope.AddListener<ClientInstanceUpdateEvent>([](ClientInstanceUpdateEvent& event) {
if (event.mIsInitFinished) {
// mulai fitur di sini
}
});Event input
| Event | Cocok untuk | Contoh penggunaan |
|---|---|---|
InputEvent | penanganan input | tandai input sebagai sudah dipakai |
OnTouchEvent | input sentuh | respons tap dan drag |
OnKeyEvent | input keyboard | respons tombol tertentu |
Contoh
cpp
CampAPI::ModuleScope scope;
scope.AddListener<OnTouchEvent>([](OnTouchEvent& event) {
if (event.action == 0) {
event.Consume();
}
});Event render
| Event | Cocok untuk | Contoh penggunaan |
|---|---|---|
BeforeRenderScreenEvent | logika sebelum render | batalin render layar |
AfterRenderScreenEvent | logika setelah render | gambar atau logging setelah output layar |
GetSplashTextEvent | ganti teks | ubah splash text saat startup |
Contoh
cpp
CampAPI::ModuleScope scope;
scope.AddListener<GetSplashTextEvent>([](GetSplashTextEvent& event) {
event.setText(std::string("CampAPI is running"));
});Event resource pack
| Event | Cocok untuk | Contoh penggunaan |
|---|---|---|
RPMConstructor | setup resource-pack | cek atau siapkan manager |
Contoh
cpp
CampAPI::ModuleScope scope;
scope.AddListener<RPMConstructor>([](RPMConstructor& event) {
if (event.mNeedsToInitialize) {
// siapkan logika resource di sini
}
});