M server/src/main.rs => server/src/main.rs +16 -13
@@ 691,7 691,7 @@ fn on_message(
}
break;
}
- for (entity, part_type, transform, _m_attach, _velocity, _, _, _) in
+ for (m_entity, part_type, transform, m_attach, _velocity, _, _, _) in
&attached_query
{
if *part_type == PartType::LandingThrusterSuspension {
@@ 709,8 709,10 @@ fn on_message(
}
if bound[0] < x && x < bound[1] && bound[2] < y && y < bound[3] {
- q_player.selected = Some(entity);
- break;
+ if m_attach.associated_player.unwrap() == entity {
+ q_player.selected = Some(m_entity);
+ break;
+ }
}
}
for (entity, part_type, transform, _, _, _) in &part_query {
@@ 1897,7 1899,6 @@ fn search_thrusters(
Without<Player>,
>,
) {
- let mut lose_energy = 0;
let p_angle = p_transform.rotation.to_euler(EulerRot::ZYX).0;
for child in attach.children.iter().flatten() {
let (attach, part_type, mut force, transform) = attached_query.get_mut(*child).unwrap();
@@ 1914,8 1915,10 @@ fn search_thrusters(
);
let mut force_mult = 0.;
+ let mut energy_lose_by = 0;
if *part_type == PartType::LandingThruster {
force_mult = part::LANDING_THRUSTER_FORCE;
+ energy_lose_by = LANDING_THRUSTER_ENERGY;
}
if input.up && 3. * PI / 4. < relative_angle && relative_angle < 5. * PI / 4. {
let thruster_force = ExternalForce::at_point(
@@ 1925,7 1928,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if input.down
&& ((0. < relative_angle && relative_angle < PI / 4.)
@@ 1938,7 1941,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if input.left {
if 3. * PI / 4. < relative_angle
@@ 1952,7 1955,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if ((0. < relative_angle && relative_angle < PI / 4.)
|| (7. * PI / 4. < relative_angle && relative_angle < 2. * PI))
@@ 1965,7 1968,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if PI / 4. < relative_angle && relative_angle < 3. * PI / 4. {
if relative_pos.y < -0.48 {
@@ 1976,7 1979,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if -0.48 < relative_pos.y && relative_pos.y < 0.48 {
let thruster_force = ExternalForce::at_point(
@@ 1986,7 1989,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
}
if 5. * PI / 4. < relative_angle && relative_angle < 7. * PI / 4. {
@@ 1998,7 2001,7 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
if -0.48 < relative_pos.y && relative_pos.y < 0.48 {
let thruster_force = ExternalForce::at_point(
@@ 2008,13 2011,13 @@ fn search_thrusters(
);
force.force += thruster_force.force;
force.torque += thruster_force.torque;
- *energy -= LANDING_THRUSTER_ENERGY;
+ *energy -= energy_lose_by;
}
}
}
if *part_type != PartType::LandingThruster {
- if *energy >= LANDING_THRUSTER_ENERGY {
+ if *energy >= energy_lose_by {
search_thrusters(input, attach.clone(), p_transform, energy, attached_query);
}
}
M server/src/ws.rs => server/src/ws.rs +4 -4
@@ 133,7 133,6 @@ impl StkTungsteniteServerPlugin {
}
WsEvent::Close { addr } => {
if addr == this_addr {
- println!("send close");
match l_stream.close(None) {
Ok(_) => (),
Err(e) => {
@@ 163,14 162,12 @@ impl StkTungsteniteServerPlugin {
Ok(m) => m,
Err(e) => {
error!("error reading from stream: {}", e);
- println!("read close");
break;
}
};
if let Message::Close(_) = msg {
let _ = l_stream.close(None);
l_gtx.send(WsEvent::Close { addr: this_addr }).unwrap();
- println!("read close");
break;
}
l_gtx
@@ 201,7 198,10 @@ impl StkTungsteniteServerPlugin {
}
WsEvent::Close { addr } => {
if let Some(client) = clients.get_mut(addr) {
- client.send(event.clone()).expect("failed to forward event");
+ match client.send(event.clone()) {
+ Ok(_) => (),
+ Err(e) => error!("failed to forward event: {}", e)
+ }
}
clients.remove(addr);
}
M starkingdoms-client/src/hub.ts => starkingdoms-client/src/hub.ts +1 -1
@@ 336,7 336,7 @@ export async function hub_connect(
chatbox.addMessage("server-message", "[Save] Game saved successfully!");
if (global.leaving) {
- window.location.href = "/"
+ window.location.href = "/";
}
} else if (packet.t == PacketType.EnergyUpdate) {
let p = <EnergyUpdatePacket>packet.c;
M starkingdoms-client/src/pages/Play.svelte => starkingdoms-client/src/pages/Play.svelte +1 -1
@@ 42,7 42,7 @@
if (!global.saveEligible) {
chatbox.addMessage(
"server-message",
- "[Save] Not eligible to beam out, please get closer to a planet"
+ "[Save] Not eligible to beam out, please get closer to a planet",
);
return;
}
M starkingdoms-client/src/pages/ShipEditor.svelte => starkingdoms-client/src/pages/ShipEditor.svelte +3 -2
@@ 270,7 270,7 @@
confirm_save = false;
}, 5000);
}
-
+
function quit_btn() {
if (confirm_quit) {
window.location.href = "/";
@@ 394,7 394,8 @@
variant="danger"
style="min-width: 16em; margin-top: 5px;">
{#if confirm_quit}
- Are you sure you want to quit without saving? (again to confirm, resets in 5s)
+ Are you sure you want to quit without saving? (again to confirm, resets in
+ 5s)
{:else}
Quit without Save
{/if}