Implemented parameter logic
This commit is contained in:
parent
6e9423892d
commit
819e55ff9c
32
src/main.rs
32
src/main.rs
@ -23,6 +23,10 @@ use rayon::prelude::*;
|
||||
|
||||
mod request;
|
||||
use request::Request;
|
||||
use vn_settings::{
|
||||
ColorSettings, ImageSettings, LayoutSettings, Names, ObjectSettings, PlayerSettings,
|
||||
TimingSettings,
|
||||
};
|
||||
|
||||
mod dialog;
|
||||
|
||||
@ -585,9 +589,37 @@ fn handle_relative_connection(
|
||||
let mut sections = Vec::new();
|
||||
|
||||
for dialog_sequence in dialogs {
|
||||
let mut player_settings = PlayerSettings {
|
||||
colors: ColorSettings::common(),
|
||||
timing: TimingSettings::common(),
|
||||
images: ImageSettings::common(),
|
||||
objects: ObjectSettings::common(),
|
||||
layout: LayoutSettings::common(),
|
||||
names: Names::new(),
|
||||
};
|
||||
|
||||
let changes = &dialog_sequence.changes;
|
||||
let mut states = HashMap::new();
|
||||
for parameter in changes.keys() {
|
||||
states.insert(parameter.clone(), 0);
|
||||
}
|
||||
|
||||
for block in &dialog_sequence.blocks {
|
||||
let mut block_content = Vec::new();
|
||||
|
||||
for parameter in block
|
||||
.lines
|
||||
.iter()
|
||||
.flat_map(|l| &l.actions)
|
||||
.chain(&block.final_actions)
|
||||
{
|
||||
if let Some(state) = states.get_mut(parameter) {
|
||||
let change = &dialog_sequence.changes[parameter][*state];
|
||||
player_settings.change(change);
|
||||
*state += 1;
|
||||
}
|
||||
}
|
||||
|
||||
let section_html = if block.lines.is_empty() {
|
||||
html! {}
|
||||
} else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user