MCPcopy Create free account
hub / github.com/PerroEngine/Perro / occupy_parts

Method occupy_parts

perro_source/render_stack/perro_graphics/src/resources.rs:60–85  ·  view source on GitHub ↗
(&mut self, index: u32, generation: u32)

Source from the content-addressed store, hash-verified

58 }
59
60 #[inline]
61 fn remove_parts(&mut self, index: u32, generation: u32) -> bool {
62 if !self.contains_parts(index, generation) {
63 return false;
64 }
65 let slot = index as usize - 1;
66 self.occupied[slot] = false;
67 self.free_slots.push(slot);
68 true
69 }
70
71 #[inline]
72 fn occupy_parts(&mut self, index: u32, generation: u32) -> bool {
73 if index == 0 || index > MAX_EXPLICIT_RESOURCE_INDEX {
74 return false;
75 }
76 let slot = index as usize - 1;
77 if self.generations.len() <= slot {
78 let start = self.generations.len();
79 self.generations.resize(slot + 1, 0);
80 self.occupied.resize(slot + 1, false);
81 for s in start..slot {
82 self.free_slots.push(s);
83 }
84 }
85 if self.occupied[slot] {
86 return self.generations[slot] == generation;
87 }
88 if self.generations[slot] > generation {

Callers 3

create_mesh_with_idMethod · 0.45

Calls 5

lenMethod · 0.45
resizeMethod · 0.45
pushMethod · 0.45
positionMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected