refactor a lil
This commit is contained in:
parent
178c344859
commit
ee4c492018
8 changed files with 34 additions and 144 deletions
|
|
@ -1,7 +1,5 @@
|
|||
use bevy::{color::palettes::css::GREEN, prelude::*};
|
||||
|
||||
pub(crate) mod tiles;
|
||||
|
||||
pub(crate) fn init_environment(mut commands: Commands) {
|
||||
commands.spawn((
|
||||
DirectionalLight {
|
||||
|
|
|
|||
|
|
@ -1,99 +0,0 @@
|
|||
use bevy::{color::palettes::css::GREY, prelude::*};
|
||||
use strum::FromRepr;
|
||||
|
||||
#[derive(Component)]
|
||||
pub(crate) enum Tile {
|
||||
Pin(Number),
|
||||
Sou(Number),
|
||||
Man(Number),
|
||||
Wind(Wind),
|
||||
Dragon(Dragon),
|
||||
}
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Number {
|
||||
One = 1,
|
||||
Two,
|
||||
Three,
|
||||
Four,
|
||||
Five,
|
||||
Six,
|
||||
Seven,
|
||||
Eight,
|
||||
Nine,
|
||||
}
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Wind {
|
||||
Ton,
|
||||
Nan,
|
||||
Shaa,
|
||||
Pei,
|
||||
}
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Dragon {
|
||||
Haku,
|
||||
Hatsu,
|
||||
Chun,
|
||||
}
|
||||
|
||||
#[derive(Component)]
|
||||
struct Dora;
|
||||
|
||||
pub fn init_tileset(
|
||||
mut commands: Commands,
|
||||
mut meshes: ResMut<Assets<Mesh>>,
|
||||
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||
) {
|
||||
let cuboid = Cuboid::new(25., 20., 16.);
|
||||
|
||||
for _ in 0..4 {
|
||||
for i in 1..=9 {
|
||||
commands.spawn((
|
||||
(
|
||||
Mesh3d(meshes.add(cuboid)),
|
||||
Transform::from_xyz(30., 0., 0.),
|
||||
MeshMaterial3d(materials.add(std::convert::Into::<Color>::into(GREY))),
|
||||
),
|
||||
Tile::Pin(Number::from_repr(i).unwrap()),
|
||||
));
|
||||
commands.spawn((
|
||||
(
|
||||
Mesh3d(meshes.add(cuboid)),
|
||||
Transform::from_xyz(30., 0., 0.),
|
||||
MeshMaterial3d(materials.add(std::convert::Into::<Color>::into(GREY))),
|
||||
),
|
||||
Tile::Sou(Number::from_repr(i).unwrap()),
|
||||
));
|
||||
commands.spawn((
|
||||
(
|
||||
Mesh3d(meshes.add(cuboid)),
|
||||
Transform::from_xyz(30., 0., 0.),
|
||||
MeshMaterial3d(materials.add(std::convert::Into::<Color>::into(GREY))),
|
||||
),
|
||||
Tile::Man(Number::from_repr(i).unwrap()),
|
||||
));
|
||||
}
|
||||
for i in 0..4 {
|
||||
commands.spawn((
|
||||
(
|
||||
Mesh3d(meshes.add(cuboid)),
|
||||
Transform::from_xyz(30., 0., 0.),
|
||||
MeshMaterial3d(materials.add(std::convert::Into::<Color>::into(GREY))),
|
||||
),
|
||||
Tile::Wind(Wind::from_repr(i).unwrap()),
|
||||
));
|
||||
}
|
||||
for i in 0..3 {
|
||||
commands.spawn((
|
||||
(
|
||||
Mesh3d(meshes.add(cuboid)),
|
||||
Transform::from_xyz(30., 0., 0.),
|
||||
MeshMaterial3d(materials.add(std::convert::Into::<Color>::into(GREY))),
|
||||
),
|
||||
Tile::Dragon(Dragon::from_repr(i).unwrap()),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
4
src/lib.rs
Normal file
4
src/lib.rs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
pub mod tiles;
|
||||
pub mod yakus;
|
||||
|
||||
pub mod game;
|
||||
|
|
@ -1,11 +1,6 @@
|
|||
use bevy::prelude::*;
|
||||
use clap::{Parser, Subcommand};
|
||||
|
||||
mod tiles;
|
||||
mod yakus;
|
||||
|
||||
mod game;
|
||||
|
||||
mod gui;
|
||||
mod tui;
|
||||
|
||||
|
|
@ -30,7 +25,7 @@ fn main() {
|
|||
Mode::RunTui => app.add_plugins(tui::RiichiTui),
|
||||
};
|
||||
|
||||
app.add_plugins(game::Riichi);
|
||||
app.add_plugins(jong::game::Riichi);
|
||||
|
||||
app.run();
|
||||
}
|
||||
|
|
|
|||
38
src/tiles.rs
38
src/tiles.rs
|
|
@ -2,29 +2,19 @@ use bevy::prelude::*;
|
|||
use strum::FromRepr;
|
||||
|
||||
#[derive(Component)]
|
||||
pub(crate) enum Tile {
|
||||
Pin(Number),
|
||||
Sou(Number),
|
||||
Man(Number),
|
||||
pub enum Tile {
|
||||
Pin(Rank),
|
||||
Sou(Rank),
|
||||
Man(Rank),
|
||||
Wind(Wind),
|
||||
Dragon(Dragon),
|
||||
}
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Number {
|
||||
One = 1,
|
||||
Two,
|
||||
Three,
|
||||
Four,
|
||||
Five,
|
||||
Six,
|
||||
Seven,
|
||||
Eight,
|
||||
Nine,
|
||||
}
|
||||
#[derive(Deref, DerefMut)]
|
||||
pub struct Rank(u8);
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Wind {
|
||||
pub enum Wind {
|
||||
Ton,
|
||||
Nan,
|
||||
Shaa,
|
||||
|
|
@ -32,27 +22,27 @@ pub(crate) enum Wind {
|
|||
}
|
||||
|
||||
#[derive(FromRepr)]
|
||||
pub(crate) enum Dragon {
|
||||
pub enum Dragon {
|
||||
Haku,
|
||||
Hatsu,
|
||||
Chun,
|
||||
}
|
||||
|
||||
#[derive(Component)]
|
||||
pub(crate) struct Dora;
|
||||
pub struct Dora;
|
||||
|
||||
pub fn init_tiles(mut commands: Commands) {
|
||||
for _ in 0..4 {
|
||||
for i in 1..=9 {
|
||||
commands.spawn((Tile::Pin(Number::from_repr(i).unwrap()),));
|
||||
commands.spawn((Tile::Sou(Number::from_repr(i).unwrap()),));
|
||||
commands.spawn((Tile::Man(Number::from_repr(i).unwrap()),));
|
||||
commands.spawn(Tile::Pin(Rank(i)));
|
||||
commands.spawn(Tile::Sou(Rank(i)));
|
||||
commands.spawn(Tile::Man(Rank(i)));
|
||||
}
|
||||
for i in 0..4 {
|
||||
commands.spawn((Tile::Wind(Wind::from_repr(i).unwrap()),));
|
||||
commands.spawn(Tile::Wind(Wind::from_repr(i).unwrap()));
|
||||
}
|
||||
for i in 0..3 {
|
||||
commands.spawn((Tile::Dragon(Dragon::from_repr(i).unwrap()),));
|
||||
commands.spawn(Tile::Dragon(Dragon::from_repr(i).unwrap()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use std::time::Duration;
|
|||
use bevy::{app::ScheduleRunnerPlugin, prelude::*};
|
||||
use bevy_ratatui::{RatatuiContext, RatatuiPlugins};
|
||||
|
||||
use crate::tiles::Tile;
|
||||
use jong::tiles::Tile;
|
||||
|
||||
mod input;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue