pub struct DialogueId(pub String);Expand description
Dialogue node id: dlg/<kebab> (stage-local to an NPC’s dialogue graph).
Tuple Fields§
§0: StringImplementations§
Source§impl DialogueId
impl DialogueId
Sourcepub fn is_valid_syntax(&self) -> bool
pub fn is_valid_syntax(&self) -> bool
True if the id is well-formed: <prefix>/<kebab>.
Sourcepub fn syntax_form(&self) -> String
pub fn syntax_form(&self) -> String
The form THIS id has to take, for the diagnostic that rejected
one — `npc/<kebab>`, `dlg/<kebab>`, and so on.
A refusal that says only “ids must be lowercase kebab-case with
their type prefix” and then lists three examples of other types
has told the author the general rule and withheld the one fact
they were missing: which prefix THIS field takes. The prefix is
a property of the id type, so the answer is derived from the
type at every site rather than hand-written per site — the
per-section refusals that already name their own prefix
(wave/, trap/, loot/, …) are that fact copied by hand,
which is exactly why the general path never had it.
Trait Implementations§
Source§impl Clone for DialogueId
impl Clone for DialogueId
Source§impl Debug for DialogueId
impl Debug for DialogueId
Source§impl<'de> Deserialize<'de> for DialogueId
impl<'de> Deserialize<'de> for DialogueId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for DialogueId
impl Display for DialogueId
impl Eq for DialogueId
Source§impl Hash for DialogueId
impl Hash for DialogueId
Source§impl JsonSchema for DialogueId
impl JsonSchema for DialogueId
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more