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;
|
mod request;
|
||||||
use request::Request;
|
use request::Request;
|
||||||
|
use vn_settings::{
|
||||||
|
ColorSettings, ImageSettings, LayoutSettings, Names, ObjectSettings, PlayerSettings,
|
||||||
|
TimingSettings,
|
||||||
|
};
|
||||||
|
|
||||||
mod dialog;
|
mod dialog;
|
||||||
|
|
||||||
@ -585,9 +589,37 @@ fn handle_relative_connection(
|
|||||||
let mut sections = Vec::new();
|
let mut sections = Vec::new();
|
||||||
|
|
||||||
for dialog_sequence in dialogs {
|
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 {
|
for block in &dialog_sequence.blocks {
|
||||||
let mut block_content = Vec::new();
|
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() {
|
let section_html = if block.lines.is_empty() {
|
||||||
html! {}
|
html! {}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user