The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This page is a part of the Lua and UI Reference (Civ5).
|
The ProjectType pseudo-type is actually a regular integer. Pseudo-types do not exist in Lua, they only serve a documentation purpose on the wiki!
- Integers labeled as
ProjectType corresponds to the ID column of the Projects XML table.
|
XML: the Projects table
Here are the ID and Type columns found in this table.
ID
|
|
Type
|
0
|
|
PROJECT_MANHATTAN_PROJECT
|
1
|
|
PROJECT_APOLLO_PROGRAM
|
2
|
|
PROJECT_SS_COCKPIT
|
3
|
|
PROJECT_SS_STASIS_CHAMBER
|
4
|
|
PROJECT_SS_ENGINE
|
5
|
|
PROJECT_SS_BOOSTER
|
6
|
|
PROJECT_UTOPIA_PROJECT
|
Examples
Here are different ways to query the database to retrieve the ID from the type. Those examples will return and assign the integer value 0. See also GameInfo.
local id = GameInfo.Projects.PROJECT_MANHATTAN_PROJECT.ID
local id = GameInfo["Projects"].["PROJECT_MANHATTAN_PROJECT"].ID
local id = GameInfo.Projects{Type="PROJECT_MANHATTAN_PROJECT"}().ID
Alternatively you could use the ID or the type to retrieve the value of the Cost column. Those examples will return and assign the value 750.
local cost = GameInfo.Projects[0].Cost
local cost = GameInfo["Projects"][0]["Cost"]
local cost = GameInfo.Projects{ID=0}().Cost
Used by
string
|
GetHelpTextForProject(ProjectType project, bool includeRequirementsInfo)
|
bool
|
City:CanCreate(ProjectType project, int continue, int testVisible)
|
|
City:ChooseProduction(UnitType trainUnit, BuildingType constructBuilding, ProjectType createProject, bool finish, bool front)
|
int
|
City:GetFirstProjectOrder(ProjectType project)
|
ProjectType
|
City:GetProductionProject()
|
int
|
City:GetProjectProductionModifier(ProjectType project)
|
int
|
City:GetProjectProductionTurnsLeft(ProjectType project, int num)
|
int
|
City:GetProjectPurchaseCost(ProjectType project)
|
|
Game.CityPurchaseBuilding(City city, UnitType unitType, int buildingType, ProjectType projectTypes)
|
|
Game.CityPurchaseProject(City city, UnitType unitType, int buildingType, ProjectType projectTypes)
|
|
Game.CityPurchaseUnit(City city, UnitType unitType, int buildingType, ProjectType projectTypes)
|
int
|
Game.GetProjectCreatedCount(ProjectType index)
|
bool
|
Game.IsProjectMaxedOut(ProjectType index, int extra)
|
bool
|
Player:CanCreate(ProjectType project, bool continue, bool testVisible)
|
int
|
Player:GetProjectProductionNeeded(ProjectType project)
|
bool
|
Player:IsProductionMaxedProject(ProjectType project)
|
|
Team:ChangeProjectCount(ProjectType index, int change)
|
int
|
Team:GetProjectArtType(ProjectType index, int number)
|
int
|
Team:GetProjectCount(ProjectType index)
|
int
|
Team:GetProjectDefaultArtType(ProjectType index)
|
int
|
Team:GetProjectMaking(ProjectType index)
|
bool
|
Team:IsProjectAndArtMaxedOut(ProjectType index)
|
bool
|
Team:IsProjectMaxedOut(ProjectType index, int extra)
|
|
Team:SetProjectArtType(ProjectType index, int number, int value)
|
|
Team:SetProjectDefaultArtType(ProjectType index, int value)
|
The initial version of this page was created by the Civ5 API Bot, see the Civ5 API Reference FAQ. Some of the texts come from the 2kgames' wiki and most of code samples are copyrighted to Firaxis.
Functions' signatures were either copied from the 2kgames' wiki, or infered from the Lua source files and the binaries. Errors are possible.
Contributors may find help in the Contributors guide to the Civ5 API.