1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00
This commit is contained in:
Robin Appelman 2021-07-11 16:11:15 +02:00
commit 3ab0a1b325
3 changed files with 9 additions and 5 deletions

2
Cargo.lock generated
View file

@ -634,7 +634,7 @@ dependencies = [
[[package]] [[package]]
name = "tf-demo-parser" name = "tf-demo-parser"
version = "0.2.4" version = "0.2.5"
dependencies = [ dependencies = [
"better-panic", "better-panic",
"bitbuffer", "bitbuffer",

View file

@ -1,7 +1,7 @@
[package] [package]
name = "tf-demo-parser" name = "tf-demo-parser"
description = "parser for tf2 demo files" description = "parser for tf2 demo files"
version = "0.2.4" version = "0.2.5"
authors = ["Robin Appelman <robin@icewind.nl>"] authors = ["Robin Appelman <robin@icewind.nl>"]
edition = "2018" edition = "2018"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"

View file

@ -69,13 +69,17 @@ impl fmt::Display for PacketEntity {
} }
impl PacketEntity { impl PacketEntity {
pub fn get_prop_by_identifier(&mut self, index: &SendPropIdentifier) -> Option<&mut SendProp> { pub fn mut_prop_by_identifier(&mut self, index: &SendPropIdentifier) -> Option<&mut SendProp> {
self.props.iter_mut().find(|prop| prop.index == *index) self.props.iter_mut().find(|prop| prop.index == *index)
} }
pub fn get_prop_by_identifier(&self, index: &SendPropIdentifier) -> Option<&SendProp> {
self.props.iter().find(|prop| prop.index == *index)
}
pub fn apply_update(&mut self, props: Vec<SendProp>) { pub fn apply_update(&mut self, props: Vec<SendProp>) {
for prop in props { for prop in props {
match self.get_prop_by_identifier(&prop.index) { match self.mut_prop_by_identifier(&prop.index) {
Some(existing_prop) => existing_prop.value = prop.value, Some(existing_prop) => existing_prop.value = prop.value,
None => self.props.push(prop), None => self.props.push(prop),
} }
@ -84,7 +88,7 @@ impl PacketEntity {
pub fn get_prop_by_name(&self, table_name: &str, name: &str) -> Option<&SendProp> { pub fn get_prop_by_name(&self, table_name: &str, name: &str) -> Option<&SendProp> {
let identifier = SendPropIdentifier::new(table_name, name); let identifier = SendPropIdentifier::new(table_name, name);
self.props.iter().find(|prop| prop.index == identifier) self.get_prop_by_identifier(&identifier)
} }
} }