WIP: Add a selection of the spawnpoint for every players #108

Draft
CoCo_Sol wants to merge 12 commits from select-spawnpoint into main
2 changed files with 5 additions and 6 deletions
Showing only changes of commit 8f8f1953d1 - Show all commits

View file

@ -29,13 +29,15 @@ fn setup_ownership_resources(mut commands: Commands) {
commands.insert_resource(OwnershipColorContrast(0.4)); commands.insert_resource(OwnershipColorContrast(0.4));
} }
/// The type condition for update ownership.
type OwnershipUpdate = Or<(Changed<Owner>, Changed<Sprite>)>;
/// Render the ownership of the tiles by applying colors. /// Render the ownership of the tiles by applying colors.
fn render_ownership( fn render_ownership(
mut query: Query<(&mut Sprite, &Owner), (Changed<Owner>, Changed<Sprite>)>, mut query: Query<(&mut Sprite, &Owner), OwnershipUpdate>,
contrast: Res<OwnershipColorContrast>, contrast: Res<OwnershipColorContrast>,
) { ) {
for (mut sprite, owner) in query.iter_mut() { for (mut sprite, owner) in query.iter_mut() {
println!("{:?}", contrast.0);
let (r, g, b) = owner.0.color; let (r, g, b) = owner.0.color;
let target = mix_colors(Color::rgb_u8(r, g, b), sprite.color, 1. - contrast.0); let target = mix_colors(Color::rgb_u8(r, g, b), sprite.color, 1. - contrast.0);

View file

@ -1,9 +1,7 @@
//! TODO //! TODO
use bevnet::Connection;
use bevy::prelude::*; use bevy::prelude::*;
use bevy::utils::hashbrown::HashSet; use bevy::utils::hashbrown::HashSet;
use bevy::utils::HashMap;
use super::generation::EndMapGeneration; use super::generation::EndMapGeneration;
use super::ownership::Owner; use super::ownership::Owner;
@ -25,9 +23,8 @@ fn init_spawn_point(
mut end_map_event: EventReader<EndMapGeneration>, mut end_map_event: EventReader<EndMapGeneration>,
players: Query<&Player>, players: Query<&Player>,
mut map: Query<(Entity, &TilePosition, &mut Tile)>, mut map: Query<(Entity, &TilePosition, &mut Tile)>,
connection: Res<Connection>,
) { ) {
for _ in end_map_event.iter() { for _ in end_map_event.read() {
let Some(radius) = map.iter().map(|(_, p, _)| p.0.abs()).max() else { let Some(radius) = map.iter().map(|(_, p, _)| p.0.abs()).max() else {
return; return;
}; };