Skip to main content

LuaTechnology

Struct LuaTechnology 

Source
pub struct LuaTechnology;
Expand description

One research item.

Implementations§

Source§

impl LuaTechnology

Source

pub fn enabled(&self) -> bool

Can this technology be researched?

Source

pub fn force(&self) -> LuaForce

The force this technology belongs to.

Source

pub fn level(&self) -> u32

The current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set LuaTechnology::enabled to true.

Source

pub fn localised_description(&self) -> &str

Source

pub fn localised_name(&self) -> &str

Localised name of this technology.

Source

pub fn name(&self) -> &str

Name of this technology.

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 order(&self) -> &str

The string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.

Source

pub fn prerequisites(&self) -> HashMap<String, Box<LuaTechnology>>

Prerequisites of this technology. The result maps technology name to the LuaTechnology object.

Source

pub fn prototype(&self) -> LuaTechnologyPrototype

The prototype of this technology.

Source

pub fn research_unit_count(&self) -> u32

The number of research units required for this technology.

This is multiplied by the current research cost multiplier, unless LuaTechnologyPrototype::ignore_tech_cost_multiplier is true.

Source

pub fn research_unit_count_formula(&self) -> MathExpression

The count formula, if this research has any. See TechnologyUnit::count_formula for details.

Source

pub fn research_unit_energy(&self) -> f64

Amount of energy required to finish a unit of research.

Source

pub fn research_unit_ingredients(&self) -> Vec<ResearchIngredient>

The types of ingredients that labs will require to research this technology.

Source

pub fn researched(&self) -> bool

Has this technology been researched? Switching from false to true will trigger the technology advancement perks; switching from true to false will reverse them.

Source

pub fn saved_progress(&self) -> f64

Saved technology progress fraction as a value in range [0, 1). 0 means there is no saved progress.

Source

pub fn successors(&self) -> HashMap<String, Box<LuaTechnology>>

Successors of this technology, i.e. technologies which have this technology as a prerequisite.

Source

pub fn upgrade(&self) -> bool

Is this an upgrade-type research?

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 visible_when_disabled(&self) -> bool

If this technology will be visible in the research GUI even though it is disabled.

Source

pub fn reload(&self)

Reload this technology from its prototype.

Source

pub fn research_recursive(&self)

Research this technology and all of its prerequisites recursively.

Trait Implementations§

Source§

impl Clone for LuaTechnology

Source§

fn clone(&self) -> LuaTechnology

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 LuaTechnology

Source§

impl Debug for LuaTechnology

Source§

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

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

impl Default for LuaTechnology

Source§

fn default() -> LuaTechnology

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

impl Eq for LuaTechnology

Source§

impl From<LuaTechnology> for LuaAny

Source§

fn from(_: LuaTechnology) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaTechnology

Source§

impl PartialEq for LuaTechnology

Source§

fn eq(&self, other: &LuaTechnology) -> 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 LuaTechnology

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.