pub struct Properties { /* private fields */ }Expand description
Building and entity properties controlling behavior and rendering.
This structure contains a comprehensive set of properties that define how buildings and entities behave in the game, including damage states, AI interactions, rendering settings, and strategic importance.
§Property Categories
§State Properties
building_id: Unique identifier for the buildingstarting_damage_unary: Initial damage level (0.0 = undamaged, 1.0 = destroyed)on_fire: Whether the building starts on firestart_disabled: Whether the building starts in disabled state
§Gameplay Properties
weak_point: Whether this is a weak point for siege battlesai_breachable: Whether AI can breach through this buildingindestructible: Whether the building cannot be destroyeddockable: Whether siege engines can dock at this buildingtoggleable: Whether the building can be toggled on/off
§Rendering Properties
lite: Use simplified rendering (lower detail)clamp_to_surface: Clamp building position to terrain surfacecast_shadows: Whether the building casts shadowsinclude_in_fog: Whether the building is affected by fog of wartint_inherit_from_parent: Inherit color tint from parent entity
§Strategic Properties
key_building: Whether this is a key strategic buildingkey_building_use_fort: Whether key building uses fort mechanicssettlement_level_configurable: Whether properties vary by settlement level
§Miscellaneous
dont_merge_building: Prevent building mesh merging optimizationis_prop_in_outfield: Whether this prop is in the outfield areahide_tooltip: Hide tooltip UI for this building
§Example
use rpfm_lib::files::bmd::common::properties::Properties;
let mut props = Properties::default();
props.set_serialise_version(11);
props.set_building_id("main_gate".to_string());
props.set_indestructible(false);
props.set_weak_point(true);
props.set_starting_damage_unary(0.0);Implementations§
Source§impl Properties
impl Properties
Sourcepub fn serialise_version(&self) -> &u16
pub fn serialise_version(&self) -> &u16
Format version number (4, 6, 7, or 11).
Sourcepub fn building_id(&self) -> &String
pub fn building_id(&self) -> &String
Unique identifier for this building.
Sourcepub fn starting_damage_unary(&self) -> &f32
pub fn starting_damage_unary(&self) -> &f32
Initial damage level (0.0 = undamaged, 1.0 = destroyed).
Sourcepub fn start_disabled(&self) -> &bool
pub fn start_disabled(&self) -> &bool
Whether the building starts in disabled state.
Sourcepub fn weak_point(&self) -> &bool
pub fn weak_point(&self) -> &bool
Whether this is a weak point for siege battles.
Sourcepub fn ai_breachable(&self) -> &bool
pub fn ai_breachable(&self) -> &bool
Whether AI can breach through this building.
Sourcepub fn indestructible(&self) -> &bool
pub fn indestructible(&self) -> &bool
Whether the building cannot be destroyed.
Sourcepub fn toggleable(&self) -> &bool
pub fn toggleable(&self) -> &bool
Whether the building can be toggled on/off.
Sourcepub fn clamp_to_surface(&self) -> &bool
pub fn clamp_to_surface(&self) -> &bool
Clamp building position to terrain surface.
Sourcepub fn cast_shadows(&self) -> &bool
pub fn cast_shadows(&self) -> &bool
Whether the building casts shadows.
Sourcepub fn dont_merge_building(&self) -> &bool
pub fn dont_merge_building(&self) -> &bool
Prevent building mesh merging optimization.
Sourcepub fn key_building(&self) -> &bool
pub fn key_building(&self) -> &bool
Whether this is a key strategic building.
Sourcepub fn key_building_use_fort(&self) -> &bool
pub fn key_building_use_fort(&self) -> &bool
Whether key building uses fort mechanics.
Sourcepub fn is_prop_in_outfield(&self) -> &bool
pub fn is_prop_in_outfield(&self) -> &bool
Whether this prop is in the outfield area.
Sourcepub fn settlement_level_configurable(&self) -> &bool
pub fn settlement_level_configurable(&self) -> &bool
Whether properties vary by settlement level.
Sourcepub fn hide_tooltip(&self) -> &bool
pub fn hide_tooltip(&self) -> &bool
Hide tooltip UI for this building.
Sourcepub fn include_in_fog(&self) -> &bool
pub fn include_in_fog(&self) -> &bool
Whether the building is affected by fog of war.
Sourcepub fn tint_inherit_from_parent(&self) -> &bool
pub fn tint_inherit_from_parent(&self) -> &bool
Inherit color tint from parent entity.
Source§impl Properties
impl Properties
Sourcepub fn serialise_version_mut(&mut self) -> &mut u16
pub fn serialise_version_mut(&mut self) -> &mut u16
Format version number (4, 6, 7, or 11).
Sourcepub fn building_id_mut(&mut self) -> &mut String
pub fn building_id_mut(&mut self) -> &mut String
Unique identifier for this building.
Sourcepub fn starting_damage_unary_mut(&mut self) -> &mut f32
pub fn starting_damage_unary_mut(&mut self) -> &mut f32
Initial damage level (0.0 = undamaged, 1.0 = destroyed).
Sourcepub fn on_fire_mut(&mut self) -> &mut bool
pub fn on_fire_mut(&mut self) -> &mut bool
Whether the building starts on fire.
Sourcepub fn start_disabled_mut(&mut self) -> &mut bool
pub fn start_disabled_mut(&mut self) -> &mut bool
Whether the building starts in disabled state.
Sourcepub fn weak_point_mut(&mut self) -> &mut bool
pub fn weak_point_mut(&mut self) -> &mut bool
Whether this is a weak point for siege battles.
Sourcepub fn ai_breachable_mut(&mut self) -> &mut bool
pub fn ai_breachable_mut(&mut self) -> &mut bool
Whether AI can breach through this building.
Sourcepub fn indestructible_mut(&mut self) -> &mut bool
pub fn indestructible_mut(&mut self) -> &mut bool
Whether the building cannot be destroyed.
Sourcepub fn dockable_mut(&mut self) -> &mut bool
pub fn dockable_mut(&mut self) -> &mut bool
Whether siege engines can dock at this building.
Sourcepub fn toggleable_mut(&mut self) -> &mut bool
pub fn toggleable_mut(&mut self) -> &mut bool
Whether the building can be toggled on/off.
Sourcepub fn clamp_to_surface_mut(&mut self) -> &mut bool
pub fn clamp_to_surface_mut(&mut self) -> &mut bool
Clamp building position to terrain surface.
Sourcepub fn cast_shadows_mut(&mut self) -> &mut bool
pub fn cast_shadows_mut(&mut self) -> &mut bool
Whether the building casts shadows.
Sourcepub fn dont_merge_building_mut(&mut self) -> &mut bool
pub fn dont_merge_building_mut(&mut self) -> &mut bool
Prevent building mesh merging optimization.
Sourcepub fn key_building_mut(&mut self) -> &mut bool
pub fn key_building_mut(&mut self) -> &mut bool
Whether this is a key strategic building.
Sourcepub fn key_building_use_fort_mut(&mut self) -> &mut bool
pub fn key_building_use_fort_mut(&mut self) -> &mut bool
Whether key building uses fort mechanics.
Sourcepub fn is_prop_in_outfield_mut(&mut self) -> &mut bool
pub fn is_prop_in_outfield_mut(&mut self) -> &mut bool
Whether this prop is in the outfield area.
Sourcepub fn settlement_level_configurable_mut(&mut self) -> &mut bool
pub fn settlement_level_configurable_mut(&mut self) -> &mut bool
Whether properties vary by settlement level.
Sourcepub fn hide_tooltip_mut(&mut self) -> &mut bool
pub fn hide_tooltip_mut(&mut self) -> &mut bool
Hide tooltip UI for this building.
Sourcepub fn include_in_fog_mut(&mut self) -> &mut bool
pub fn include_in_fog_mut(&mut self) -> &mut bool
Whether the building is affected by fog of war.
Sourcepub fn tint_inherit_from_parent_mut(&mut self) -> &mut bool
pub fn tint_inherit_from_parent_mut(&mut self) -> &mut bool
Inherit color tint from parent entity.
Source§impl Properties
impl Properties
Sourcepub fn set_serialise_version(&mut self, val: u16) -> &mut Self
pub fn set_serialise_version(&mut self, val: u16) -> &mut Self
Format version number (4, 6, 7, or 11).
Sourcepub fn set_building_id(&mut self, val: String) -> &mut Self
pub fn set_building_id(&mut self, val: String) -> &mut Self
Unique identifier for this building.
Sourcepub fn set_starting_damage_unary(&mut self, val: f32) -> &mut Self
pub fn set_starting_damage_unary(&mut self, val: f32) -> &mut Self
Initial damage level (0.0 = undamaged, 1.0 = destroyed).
Sourcepub fn set_on_fire(&mut self, val: bool) -> &mut Self
pub fn set_on_fire(&mut self, val: bool) -> &mut Self
Whether the building starts on fire.
Sourcepub fn set_start_disabled(&mut self, val: bool) -> &mut Self
pub fn set_start_disabled(&mut self, val: bool) -> &mut Self
Whether the building starts in disabled state.
Sourcepub fn set_weak_point(&mut self, val: bool) -> &mut Self
pub fn set_weak_point(&mut self, val: bool) -> &mut Self
Whether this is a weak point for siege battles.
Sourcepub fn set_ai_breachable(&mut self, val: bool) -> &mut Self
pub fn set_ai_breachable(&mut self, val: bool) -> &mut Self
Whether AI can breach through this building.
Sourcepub fn set_indestructible(&mut self, val: bool) -> &mut Self
pub fn set_indestructible(&mut self, val: bool) -> &mut Self
Whether the building cannot be destroyed.
Sourcepub fn set_dockable(&mut self, val: bool) -> &mut Self
pub fn set_dockable(&mut self, val: bool) -> &mut Self
Whether siege engines can dock at this building.
Sourcepub fn set_toggleable(&mut self, val: bool) -> &mut Self
pub fn set_toggleable(&mut self, val: bool) -> &mut Self
Whether the building can be toggled on/off.
Sourcepub fn set_clamp_to_surface(&mut self, val: bool) -> &mut Self
pub fn set_clamp_to_surface(&mut self, val: bool) -> &mut Self
Clamp building position to terrain surface.
Sourcepub fn set_cast_shadows(&mut self, val: bool) -> &mut Self
pub fn set_cast_shadows(&mut self, val: bool) -> &mut Self
Whether the building casts shadows.
Sourcepub fn set_dont_merge_building(&mut self, val: bool) -> &mut Self
pub fn set_dont_merge_building(&mut self, val: bool) -> &mut Self
Prevent building mesh merging optimization.
Sourcepub fn set_key_building(&mut self, val: bool) -> &mut Self
pub fn set_key_building(&mut self, val: bool) -> &mut Self
Whether this is a key strategic building.
Sourcepub fn set_key_building_use_fort(&mut self, val: bool) -> &mut Self
pub fn set_key_building_use_fort(&mut self, val: bool) -> &mut Self
Whether key building uses fort mechanics.
Sourcepub fn set_is_prop_in_outfield(&mut self, val: bool) -> &mut Self
pub fn set_is_prop_in_outfield(&mut self, val: bool) -> &mut Self
Whether this prop is in the outfield area.
Sourcepub fn set_settlement_level_configurable(&mut self, val: bool) -> &mut Self
pub fn set_settlement_level_configurable(&mut self, val: bool) -> &mut Self
Whether properties vary by settlement level.
Sourcepub fn set_hide_tooltip(&mut self, val: bool) -> &mut Self
pub fn set_hide_tooltip(&mut self, val: bool) -> &mut Self
Hide tooltip UI for this building.
Sourcepub fn set_include_in_fog(&mut self, val: bool) -> &mut Self
pub fn set_include_in_fog(&mut self, val: bool) -> &mut Self
Whether the building is affected by fog of war.
Sourcepub fn set_tint_inherit_from_parent(&mut self, val: bool) -> &mut Self
pub fn set_tint_inherit_from_parent(&mut self, val: bool) -> &mut Self
Inherit color tint from parent entity.
Trait Implementations§
Source§impl Clone for Properties
impl Clone for Properties
Source§fn clone(&self) -> Properties
fn clone(&self) -> Properties
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Properties
impl Debug for Properties
Source§impl Decodeable for Properties
impl Decodeable for Properties
Source§impl Default for Properties
impl Default for Properties
Source§fn default() -> Properties
fn default() -> Properties
Source§impl<'de> Deserialize<'de> for Properties
impl<'de> Deserialize<'de> for Properties
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 Encodeable for Properties
impl Encodeable for Properties
Source§fn encode<W: WriteBytes>(
&mut self,
buffer: &mut W,
extra_data: &Option<EncodeableExtraData<'_>>,
) -> Result<()>
fn encode<W: WriteBytes>( &mut self, buffer: &mut W, extra_data: &Option<EncodeableExtraData<'_>>, ) -> Result<()>
Source§impl PartialEq for Properties
impl PartialEq for Properties
Source§impl Serialize for Properties
impl Serialize for Properties
impl StructuralPartialEq for Properties
Auto Trait Implementations§
impl Freeze for Properties
impl RefUnwindSafe for Properties
impl Send for Properties
impl Sync for Properties
impl Unpin for Properties
impl UnsafeUnpin for Properties
impl UnwindSafe for Properties
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.