make pronouns optional (tā tāāā!)

This commit is contained in:
yuni 2024-04-20 02:48:55 +02:00
parent dba6c4183a
commit e6ca1c5b50
3 changed files with 8 additions and 4 deletions

View file

@ -44,7 +44,7 @@ struct ParserState {
rotation: Quat, rotation: Quat,
velocity: DVec3, velocity: DVec3,
angular_momentum: DVec3, angular_momentum: DVec3,
pronoun: String, pronoun: Option<String>,
is_sphere: bool, is_sphere: bool,
is_player: bool, is_player: bool,
is_lifeform: bool, is_lifeform: bool,
@ -93,7 +93,7 @@ impl Default for ParserState {
rotation: Quat::IDENTITY, rotation: Quat::IDENTITY,
velocity: DVec3::splat(0.0), velocity: DVec3::splat(0.0),
angular_momentum: DVec3::new(0.03, 0.3, 0.09), angular_momentum: DVec3::new(0.03, 0.3, 0.09),
pronoun: "they/them".to_string(), pronoun: None,
is_sphere: false, is_sphere: false,
is_player: false, is_player: false,
is_lifeform: false, is_lifeform: false,
@ -264,7 +264,7 @@ pub fn load_defs(
} }
} }
["pronoun", pronoun] => { ["pronoun", pronoun] => {
state.pronoun = pronoun.to_string(); state.pronoun = Some(pronoun.to_string());
} }
["chatid", chat] => { ["chatid", chat] => {
state.chat = chat.to_string(); state.chat = chat.to_string();
@ -602,6 +602,7 @@ fn spawn_entities(
if state.is_clickable { if state.is_clickable {
actor.insert(hud::IsClickable { actor.insert(hud::IsClickable {
name: state.name.clone(), name: state.name.clone(),
pronoun: state.pronoun.clone(),
..default() ..default()
}); });
} }
@ -632,7 +633,7 @@ fn spawn_entities(
actor_id: state.id.clone(), actor_id: state.id.clone(),
chat_name: state.chat.clone(), chat_name: state.chat.clone(),
name: state.name.clone(), name: state.name.clone(),
pronoun: Some(state.pronoun.clone()), pronoun: state.pronoun.clone(),
talking_speed: 1.0, talking_speed: 1.0,
}); });
} }

View file

@ -111,10 +111,12 @@ impl Message {
#[derive(Component)] #[derive(Component)]
pub struct IsClickable { pub struct IsClickable {
pub name: Option<String>, pub name: Option<String>,
pub pronoun: Option<String>,
pub distance: Option<f64>, pub distance: Option<f64>,
} }
impl Default for IsClickable { fn default() -> Self { Self { impl Default for IsClickable { fn default() -> Self { Self {
name: None, name: None,
pronoun: None,
distance: None, distance: None,
}}} }}}

View file

@ -161,6 +161,7 @@ pub fn setup(
hud::IsClickable { hud::IsClickable {
name: Some(name), name: Some(name),
distance, distance,
..default()
}, },
PbrBundle { PbrBundle {
mesh: sphere_handle.clone(), mesh: sphere_handle.clone(),