diff --git a/.gitignore b/.gitignore index 3ad33f15381af401366a6545020c9aaee92e0964..044cdb598b05139bbaba6c6d2ca89c6f1d0de8d5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ .idea/ .vscode/ -dist/ \ No newline at end of file +dist/ +artifacts/ \ No newline at end of file diff --git a/game_core/src/system/resources.rs b/game_core/src/system/resources.rs index fbab91f797256313c1e7b8bbd7b34c6c44854a58..4731dc27ff123cdfe177ae86d25ce1d4c9dd9d80 100644 --- a/game_core/src/system/resources.rs +++ b/game_core/src/system/resources.rs @@ -21,7 +21,7 @@ pub fn configure_default_plugins() -> PluginGroupBuilder { height, resizable: true, mode: WindowMode::Windowed, - title: String::from("Bevy 2D Template"), + title: String::from("Trader Tales"), present_mode: PresentMode::AutoNoVsync, ..Default::default() }, diff --git a/game_core/src/world/towns.rs b/game_core/src/world/towns.rs index a5388691b63c80da5caf42bf72447ee73f18e9f4..39921b899957ef3cb050096b27710ce33a9137c4 100644 --- a/game_core/src/world/towns.rs +++ b/game_core/src/world/towns.rs @@ -45,6 +45,7 @@ pub enum PathingResult { Travelling, NextNode, PathComplete, + TravelTo(Vec2), } fn calculate_distance(points: &mut impl Iterator<Item = Vec2>) -> f32 { @@ -86,6 +87,8 @@ impl TravelPath { if let Some(next) = self.path.get(self.next_index) { if current.distance(*next).abs() < 0.05 { PathingResult::NextNode + } else if current.distance(*next).abs() < 0.15 { + PathingResult::TravelTo(*next) } else { PathingResult::Travelling } diff --git a/game_core/src/world/travel.rs b/game_core/src/world/travel.rs index a321936460de2e77051dfd6287d11786f8ddc2e0..6d58b11cf9334954d22efcb528afeef4d617e503 100644 --- a/game_core/src/world/travel.rs +++ b/game_core/src/world/travel.rs @@ -49,6 +49,9 @@ pub fn tick_travelling_merchant( PathingResult::NextNode => { path.increment_indexes(); } + PathingResult::TravelTo(new_point) => { + transform.translation = new_point.extend(transform.translation.z); + } PathingResult::Travelling => {} } }