pub struct VendorDefinition {
pub id: u64,
pub name: String,
pub faction: String,
pub inventory: Vec<VendorInventoryEntry>,
pub buy_markup: f32,
pub sell_markup: f32,
pub barter_ratio: f32,
pub refresh_interval_hours: f32,
pub last_refresh_time: f32,
pub price_elasticity: PriceElasticity,
pub supply: f32,
pub demand: f32,
}Fields§
§id: u64§name: String§faction: String§inventory: Vec<VendorInventoryEntry>§buy_markup: f32§sell_markup: f32§barter_ratio: f32§refresh_interval_hours: f32§last_refresh_time: f32§price_elasticity: PriceElasticity§supply: f32§demand: f32Implementations§
Source§impl VendorDefinition
impl VendorDefinition
pub fn new(id: u64, name: impl Into<String>) -> Self
pub fn dynamic_price_ratio(&self) -> f32
pub fn buy_price(&self, item: &ItemDefinition) -> u64
pub fn sell_price(&self, item: &ItemDefinition) -> u64
pub fn barter_value(&self, item: &ItemDefinition) -> u64
pub fn refresh_inventory(&mut self, current_time: f32)
pub fn adjust_supply_demand(&mut self, transaction: EconomyTransaction)
Trait Implementations§
Source§impl Clone for VendorDefinition
impl Clone for VendorDefinition
Auto Trait Implementations§
impl Freeze for VendorDefinition
impl RefUnwindSafe for VendorDefinition
impl Send for VendorDefinition
impl Sync for VendorDefinition
impl Unpin for VendorDefinition
impl UnsafeUnpin for VendorDefinition
impl UnwindSafe for VendorDefinition
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.