cleanup
This commit is contained in:
parent
c390a18ae5
commit
9534504b20
112
src/world.rs
112
src/world.rs
|
@ -351,32 +351,13 @@ impl ParserState {
|
||||||
self.reset_message();
|
self.reset_message();
|
||||||
}
|
}
|
||||||
fn spawn_actor(&mut self, commands: &mut Commands, asset_server: &Res<AssetServer>) {
|
fn spawn_actor(&mut self, commands: &mut Commands, asset_server: &Res<AssetServer>) {
|
||||||
let component_actor = actor::Actor {
|
let mut actor = commands.spawn_empty();
|
||||||
|
actor.insert(actor::Actor {
|
||||||
angular_momentum: self.angular_momentum,
|
angular_momentum: self.angular_momentum,
|
||||||
id: self.id.clone(),
|
id: self.id.clone(),
|
||||||
..default()
|
..default()
|
||||||
};
|
});
|
||||||
let component_lifeform = actor::LifeForm::default();
|
actor.insert(SceneBundle {
|
||||||
let component_talker = actor::Talker {
|
|
||||||
conv_id: self.chat.clone(),
|
|
||||||
..default()
|
|
||||||
};
|
|
||||||
let component_vehicle = actor::Vehicle;
|
|
||||||
let component_engine = actor::Engine {
|
|
||||||
thrust_forward: self.thrust_forward,
|
|
||||||
thrust_back: self.thrust_back,
|
|
||||||
thrust_sideways: self.thrust_sideways,
|
|
||||||
reaction_wheels: self.reaction_wheels,
|
|
||||||
warmup_seconds: self.warmup_seconds,
|
|
||||||
engine_type: self.engine_type,
|
|
||||||
..default()
|
|
||||||
};
|
|
||||||
let component_suit = actor::Suit {
|
|
||||||
oxygen: self.oxygen,
|
|
||||||
oxygen_max: nature::OXY_D,
|
|
||||||
..default()
|
|
||||||
};
|
|
||||||
let component_model = SceneBundle {
|
|
||||||
transform: Transform {
|
transform: Transform {
|
||||||
translation: self.pos,
|
translation: self.pos,
|
||||||
scale: Vec3::splat(self.model_scale),
|
scale: Vec3::splat(self.model_scale),
|
||||||
|
@ -384,65 +365,38 @@ impl ParserState {
|
||||||
},
|
},
|
||||||
scene: asset_server.load(asset_name_to_path(self.model.as_str())),
|
scene: asset_server.load(asset_name_to_path(self.model.as_str())),
|
||||||
..default()
|
..default()
|
||||||
};
|
});
|
||||||
|
if self.is_lifeform {
|
||||||
|
actor.insert(actor::LifeForm::default());
|
||||||
|
actor.insert(actor::Suit {
|
||||||
|
oxygen: self.oxygen,
|
||||||
|
oxygen_max: nature::OXY_D,
|
||||||
|
..default()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if !self.chat.is_empty() {
|
||||||
|
actor.insert(actor::Talker {
|
||||||
|
conv_id: self.chat.clone(),
|
||||||
|
..default()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if self.is_vehicle {
|
||||||
|
actor.insert(actor::Vehicle);
|
||||||
|
actor.insert(actor::Engine {
|
||||||
|
thrust_forward: self.thrust_forward,
|
||||||
|
thrust_back: self.thrust_back,
|
||||||
|
thrust_sideways: self.thrust_sideways,
|
||||||
|
reaction_wheels: self.reaction_wheels,
|
||||||
|
warmup_seconds: self.warmup_seconds,
|
||||||
|
engine_type: self.engine_type,
|
||||||
|
..default()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
actor.insert(RigidBody::Dynamic);
|
||||||
|
actor.insert(Collider::cuboid(1.0, 1.0, 1.0));
|
||||||
|
|
||||||
// TODO: is there a more dynamic way to construct this...?
|
|
||||||
info!("Spawning actor {} with model {} at {}/{}/{}",
|
info!("Spawning actor {} with model {} at {}/{}/{}",
|
||||||
self.name, self.model, self.pos.x, self.pos.y, self.pos.z);
|
self.name, self.model, self.pos.x, self.pos.y, self.pos.z);
|
||||||
if self.is_lifeform {
|
|
||||||
if !self.chat.is_empty() {
|
|
||||||
commands.spawn((
|
|
||||||
component_actor,
|
|
||||||
component_lifeform,
|
|
||||||
component_suit,
|
|
||||||
component_talker,
|
|
||||||
component_model,
|
|
||||||
RigidBody::Dynamic,
|
|
||||||
Collider::cuboid(1.0, 1.0, 1.0),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
commands.spawn((
|
|
||||||
component_actor,
|
|
||||||
component_lifeform,
|
|
||||||
component_suit,
|
|
||||||
component_model,
|
|
||||||
RigidBody::Dynamic,
|
|
||||||
Collider::cuboid(1.0, 1.0, 1.0),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if !self.chat.is_empty() {
|
|
||||||
commands.spawn((
|
|
||||||
component_actor,
|
|
||||||
component_talker,
|
|
||||||
component_model,
|
|
||||||
RigidBody::Dynamic,
|
|
||||||
Collider::cuboid(1.0, 1.0, 1.0),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if self.is_vehicle {
|
|
||||||
commands.spawn((
|
|
||||||
component_actor,
|
|
||||||
component_model,
|
|
||||||
component_vehicle,
|
|
||||||
component_engine,
|
|
||||||
RigidBody::Dynamic,
|
|
||||||
Collider::cuboid(1.0, 1.0, 1.0),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
commands.spawn((
|
|
||||||
component_actor,
|
|
||||||
component_model,
|
|
||||||
RigidBody::Dynamic,
|
|
||||||
Collider::cuboid(1.0, 1.0, 1.0),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
self.reset();
|
self.reset();
|
||||||
}
|
}
|
||||||
fn spawn_entities(&mut self, commands: &mut Commands, asset_server: &Res<AssetServer>) {
|
fn spawn_entities(&mut self, commands: &mut Commands, asset_server: &Res<AssetServer>) {
|
||||||
|
|
Loading…
Reference in a new issue