Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub fn update(&mut self, game_time: f64) {
- self.game_time = game_time;
- if self.last_update.elapsed().as_millis() < 10 {
- self.update_casts();
- return;
- }
- self.last_update = Instant::now();
- if let Ok(base_address) = self
- .process
- .read_mem::<usize>(self.module_base_address + OFFSETS.object_manager)
- {
- self.units.clear();
- if base_address == 0 {
- return;
- }
- self.raid_targets.clear();
- for i in 0..=7 {
- let guid = self.get_raid_target_guid(i);
- self.raid_targets.push(guid);
- }
- let first_entity = base_address + VISIBLE_OBJECTS;
- let mut ptr = self.process.read_mem::<usize>(first_entity).unwrap();
- if ptr == first_entity {
- return;
- }
- loop {
- let entry = ptr - 0x28;
- let guid = self.process.read_mem::<i128>(entry + 0x8).unwrap();
- let object_type = self.process.read_mem::<u8>(entry + 0x1).unwrap();
- if let Some(mut unit) = self.get_entity(entry, object_type, guid) {
- unit.game_time = self.game_time;
- self.units.insert(guid, unit);
- }
- ptr = self.process.read_mem::<usize>(ptr).unwrap();
- if ptr == first_entity || ptr == 0 {
- break;
- }
- }
- let active_player_guid = self.get_active_player_guid();
- for (_guid, unit) in self.units.iter_mut() {
- // if _guid == &active_player_guid {
- // unit.update();
- // }
- unit.update();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment