mirror of
https://github.com/Mercantec-GHC/h5-projekt-mst.git
synced 2026-08-26 21:27:38 +02:00
refactor
This commit is contained in:
parent
12fdcb312b
commit
5164ceee20
@ -287,17 +287,13 @@ impl SegmentFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn new_random_segment(&self, pos: V3) -> Segment {
|
pub fn new_random_segment(&self, pos: V3) -> Segment {
|
||||||
use SegmentKind::*;
|
|
||||||
let choice: usize = random::next() as usize;
|
let choice: usize = random::next() as usize;
|
||||||
|
|
||||||
let segment_kind = &[RandomObstacles, MovingObstacles, SlalomObstacles][choice % 3];
|
match choice % 3 {
|
||||||
|
0 => self.random_obstacle_segment(pos),
|
||||||
dbg!(segment_kind);
|
1 => self.moving_obstacle_segment(pos),
|
||||||
|
2 => self.slalom_obstacle_segment(pos),
|
||||||
match segment_kind {
|
_ => unreachable!(),
|
||||||
SegmentKind::RandomObstacles => self.random_obstacle_segment(pos),
|
|
||||||
SegmentKind::MovingObstacles => self.moving_obstacle_segment(pos),
|
|
||||||
SegmentKind::SlalomObstacles => self.slalom_obstacle_segment(pos),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -339,7 +335,7 @@ impl SegmentManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn shuffle(&mut self) {
|
pub fn add_new_segment(&mut self) {
|
||||||
self.segments.pop_front().unwrap();
|
self.segments.pop_front().unwrap();
|
||||||
let last = self.segments.back().unwrap();
|
let last = self.segments.back().unwrap();
|
||||||
self.segments
|
self.segments
|
||||||
@ -349,7 +345,7 @@ impl SegmentManager {
|
|||||||
last.pos.2 + self.segment_depth,
|
last.pos.2 + self.segment_depth,
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
pub fn should_shuffle(&self, z: f64) -> bool {
|
pub fn should_add_new_segment(&self, z: f64) -> bool {
|
||||||
let first = self.segments.front().unwrap();
|
let first = self.segments.front().unwrap();
|
||||||
first.pos.2 + self.segment_depth < z
|
first.pos.2 + self.segment_depth < z
|
||||||
}
|
}
|
||||||
@ -441,8 +437,11 @@ impl<R: Renderer> engine::Game<R> for Game {
|
|||||||
|
|
||||||
self.segment_manager.update(&mut cx, delta_time);
|
self.segment_manager.update(&mut cx, delta_time);
|
||||||
|
|
||||||
if self.segment_manager.should_shuffle(self.camera_pos.2) {
|
if self
|
||||||
self.segment_manager.shuffle();
|
.segment_manager
|
||||||
|
.should_add_new_segment(self.camera_pos.2)
|
||||||
|
{
|
||||||
|
self.segment_manager.add_new_segment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user