Compare commits
No commits in common. "4ac8b159c1ff45e455ff167644a5ea70fab846c2" and "a97d6a055360dd18701c90cfd4ae5f86c727c01f" have entirely different histories.
4ac8b159c1
...
a97d6a0553
|
@ -168,8 +168,6 @@ pub struct MessageOnVehicleEntry(pub String);
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
pub struct PlayersFlashLight;
|
pub struct PlayersFlashLight;
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
pub struct MirrorLight;
|
|
||||||
#[derive(Component)]
|
|
||||||
pub struct WantsMaxRotation(pub f64);
|
pub struct WantsMaxRotation(pub f64);
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
pub struct WantsMaxVelocity(pub f64);
|
pub struct WantsMaxVelocity(pub f64);
|
||||||
|
|
34
src/cmd.rs
34
src/cmd.rs
|
@ -101,7 +101,6 @@ struct ParserState {
|
||||||
is_planet: bool,
|
is_planet: bool,
|
||||||
is_point_of_interest: bool,
|
is_point_of_interest: bool,
|
||||||
is_tidally_locked: bool,
|
is_tidally_locked: bool,
|
||||||
is_mirror: bool,
|
|
||||||
orbit_distance: Option<f64>,
|
orbit_distance: Option<f64>,
|
||||||
orbit_object_id: Option<String>,
|
orbit_object_id: Option<String>,
|
||||||
orbit_phase: Option<f64>,
|
orbit_phase: Option<f64>,
|
||||||
|
@ -164,7 +163,6 @@ impl Default for ParserState {
|
||||||
is_planet: false,
|
is_planet: false,
|
||||||
is_point_of_interest: false,
|
is_point_of_interest: false,
|
||||||
is_tidally_locked: false,
|
is_tidally_locked: false,
|
||||||
is_mirror: false,
|
|
||||||
orbit_distance: None,
|
orbit_distance: None,
|
||||||
orbit_object_id: None,
|
orbit_object_id: None,
|
||||||
orbit_phase: None,
|
orbit_phase: None,
|
||||||
|
@ -444,9 +442,6 @@ pub fn load_defs(mut ew_spawn: EventWriter<SpawnEvent>) {
|
||||||
["sphere", "yes"] => {
|
["sphere", "yes"] => {
|
||||||
state.is_sphere = true;
|
state.is_sphere = true;
|
||||||
}
|
}
|
||||||
["mirror", "yes"] => {
|
|
||||||
state.is_mirror = true;
|
|
||||||
}
|
|
||||||
["id", id] => {
|
["id", id] => {
|
||||||
state.id = id.to_string();
|
state.id = id.to_string();
|
||||||
}
|
}
|
||||||
|
@ -920,9 +915,6 @@ fn spawn_scenes(
|
||||||
state.angular_momentum = DVec3::ZERO;
|
state.angular_momentum = DVec3::ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
// command: mirror yes
|
|
||||||
state.is_mirror = true;
|
|
||||||
|
|
||||||
// command: scale 10.0
|
// command: scale 10.0
|
||||||
state.model_scale = 10.0;
|
state.model_scale = 10.0;
|
||||||
|
|
||||||
|
@ -1247,32 +1239,6 @@ fn spawn_entities(
|
||||||
if !state.ar_models.is_empty() {
|
if !state.ar_models.is_empty() {
|
||||||
actor.insert(hud::AugmentedRealityOverlayBroadcaster);
|
actor.insert(hud::AugmentedRealityOverlayBroadcaster);
|
||||||
}
|
}
|
||||||
if state.is_mirror {
|
|
||||||
actor.with_children(|builder| {
|
|
||||||
// TODO: rotate the light appropriately
|
|
||||||
builder.spawn((
|
|
||||||
world::DespawnOnPlayerDeath,
|
|
||||||
actor::MirrorLight,
|
|
||||||
SpotLightBundle {
|
|
||||||
transform: Transform {
|
|
||||||
translation: Vec3::new(0.0, 0.0, 1.0),
|
|
||||||
rotation: Quat::from_rotation_y(180f32.to_radians()),
|
|
||||||
..default()
|
|
||||||
},
|
|
||||||
spot_light: SpotLight {
|
|
||||||
intensity: 2e7,
|
|
||||||
color: Color::WHITE,
|
|
||||||
shadows_enabled: false,
|
|
||||||
inner_angle: PI32 / 16.0,
|
|
||||||
outer_angle: PI32 / 13.0,
|
|
||||||
range: 1000.0,
|
|
||||||
..default()
|
|
||||||
},
|
|
||||||
..default()
|
|
||||||
},
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if state.is_player {
|
if state.is_player {
|
||||||
actor.with_children(|builder| {
|
actor.with_children(|builder| {
|
||||||
builder.spawn((
|
builder.spawn((
|
||||||
|
|
11
src/game.rs
11
src/game.rs
|
@ -600,7 +600,6 @@ fn handle_achievement_event(
|
||||||
fn check_achievements(
|
fn check_achievements(
|
||||||
time: Res<Time>,
|
time: Res<Time>,
|
||||||
q_player: Query<&Position, With<actor::PlayerCamera>>,
|
q_player: Query<&Position, With<actor::PlayerCamera>>,
|
||||||
mut q_mirrorlight: Query<&mut Visibility, With<actor::MirrorLight>>,
|
|
||||||
id2pos: Res<Id2Pos>,
|
id2pos: Res<Id2Pos>,
|
||||||
mut ew_achievement: EventWriter<AchievementEvent>,
|
mut ew_achievement: EventWriter<AchievementEvent>,
|
||||||
mut timer: ResMut<AchievementCheckTimer>,
|
mut timer: ResMut<AchievementCheckTimer>,
|
||||||
|
@ -634,16 +633,6 @@ fn check_achievements(
|
||||||
|
|
||||||
if shadowed {
|
if shadowed {
|
||||||
ew_achievement.send(AchievementEvent::InJupitersShadow);
|
ew_achievement.send(AchievementEvent::InJupitersShadow);
|
||||||
for mut mirrorlight_vis in &mut q_mirrorlight {
|
|
||||||
*mirrorlight_vis = Visibility::Hidden;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// This is checking for whether the player is shadowed, not the mirror.
|
|
||||||
// But in the case where these two are not the same, the player doesn't see
|
|
||||||
// the mirror anyway and the mirror light's visibility state is irrelevant.
|
|
||||||
for mut mirrorlight_vis in &mut q_mirrorlight {
|
|
||||||
*mirrorlight_vis = Visibility::Inherited;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue