Skip to main content

LuaFlowStatistics

Struct LuaFlowStatistics 

Source
pub struct LuaFlowStatistics;
Expand description

Encapsulates statistic data for different parts of the game.

In the context of flow statistics, input, output and storage describe in which position of the associated GUI the values are shown. Input values are shown on the far left side, output values to the immediate right, and storage values (if present) to the far right.

  • The item production GUI shows “consumption” on the right, thus output describes the item consumption numbers. The same goes for fluid consumption.

  • The kills GUI shows “losses” on the right, so output describes how many of the force’s entities were killed by enemies.

  • The electric network GUI shows “power consumption” on the left side, so in this case input describes the power consumption numbers. In addition, electric networks are currently the only ones that utilize the storage part of their statistics, showing accumulator charges to the far right of the GUI.

Implementations§

Source§

impl LuaFlowStatistics

Source

pub fn current_input_quality_samples( &self, ) -> HashMap<String, HashMap<String, f64>>

A mapping of quality name to a list of current tick input samples indexed by prototype name.

Source

pub fn current_output_quality_samples( &self, ) -> HashMap<String, HashMap<String, f64>>

A mapping of quality name to a list of current tick output samples indexed by prototype name.

Source

pub fn force(&self) -> LuaForce

The force these statistics belong to. nil for pollution statistics.

Source

pub fn input_counts(&self) -> HashMap<String, LuaAny>

List of input counts indexed by prototype name. Represents the data that is shown on the left side of the GUI for the given statistics.

Source

pub fn input_quality_counts(&self) -> HashMap<String, HashMap<String, LuaAny>>

A mapping of quality name to a list of input counts indexed by prototype name. Represents the data that is shown on the left side of the GUI for the given statistics.

Source

pub fn object_name(&self) -> &str

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Source

pub fn output_counts(&self) -> HashMap<String, LuaAny>

List of output counts indexed by prototype name. Represents the data that is shown in the middle of the GUI for electric networks and on the right side for all other statistics types.

Source

pub fn output_quality_counts(&self) -> HashMap<String, HashMap<String, LuaAny>>

A mapping of quality name to a list of output counts indexed by prototype name. Represents the data that is shown in the middle of the GUI for electric networks and on the right side for all other statistics types.

Source

pub fn storage_counts(&self) -> HashMap<String, LuaAny>

List of storage counts indexed by prototype name. Represents the data that is shown on the right side of the GUI for electric networks. For other statistics types these values are currently unused and hidden.

Source

pub fn storage_quality_counts(&self) -> HashMap<String, HashMap<String, LuaAny>>

A mapping of quality name to a list of storage counts indexed by prototype name. Represents the data that is shown on the right side of the GUI for electric networks. For other statistics types these values are currently unused and hidden.

Source

pub fn valid(&self) -> bool

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

Source

pub fn clear(&self)

Reset all the statistics data to 0.

Source

pub fn get_current_input_sample(&self, id: LuaAny) -> f64

Gets the current-tick input sample for a given prototype.

These values get merged into the input counts at the end of the tick.

Source

pub fn get_current_output_sample(&self, id: LuaAny) -> f64

Gets the current-tick output sample for a given prototype.

These values get merged into the output counts at the end of the tick.

Source

pub fn get_flow_count(&self, params: LuaFlowStatisticsGetFlowCountParams) -> f64

Gets the flow count value for the given time frame. If sample_index is not provided, then the value returned is the average across the provided precision time period. These are the values shown in the bottom section of the statistics GUIs.

Use sample_index to access the data used to generate the statistics graphs. Each precision level contains 300 samples of data so at a precision of 1 minute, each sample contains data averaged across 60s / 300 = 0.2s = 12 ticks.

All return values are normalized to be per-tick for electric networks and per-minute for all other types.

Source

pub fn get_input_count(&self, id: LuaAny) -> LuaAny

Gets the total input count for a given prototype.

Source

pub fn get_output_count(&self, id: LuaAny) -> LuaAny

Gets the total output count for a given prototype.

Source

pub fn get_storage_count(&self, id: LuaAny) -> LuaAny

Gets the total storage count for a given prototype.

Source

pub fn on_flow(&self, count: f32, id: LuaAny)

Adds a value to this flow statistics.

Source

pub fn set_current_input_sample(&self, count: f64, id: LuaAny)

Sets the current-tick input sample for a given prototype.

These values get merged into the input counts at the end of the tick.

Source

pub fn set_current_output_sample(&self, count: f64, id: LuaAny)

Sets the current-tick output sample for a given prototype.

These values get merged into the output counts at the end of the tick.

Source

pub fn set_input_count(&self, count: LuaAny, id: LuaAny)

Sets the total input count for a given prototype.

Source

pub fn set_output_count(&self, count: LuaAny, id: LuaAny)

Sets the total output count for a given prototype.

Source

pub fn set_storage_count(&self, count: LuaAny, id: LuaAny)

Sets the total storage count for a given prototype.

Trait Implementations§

Source§

impl Clone for LuaFlowStatistics

Source§

fn clone(&self) -> LuaFlowStatistics

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for LuaFlowStatistics

Source§

impl Debug for LuaFlowStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LuaFlowStatistics

Source§

fn default() -> LuaFlowStatistics

Returns the “default value” for a type. Read more
Source§

impl Eq for LuaFlowStatistics

Source§

impl From<LuaFlowStatistics> for LuaAny

Source§

fn from(_: LuaFlowStatistics) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaFlowStatistics

Source§

impl PartialEq for LuaFlowStatistics

Source§

fn eq(&self, other: &LuaFlowStatistics) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for LuaFlowStatistics

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.