Home › Engine Lua tables › Variant container

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

Variant container

Object type with 15 methods. generic GetValue/SetValue/Add/Get/Remove/GetCount/GetAt object, used on parameter and data variables in game scripts. Registering function 0xdb7bb0.

Methods are called on a value of this type with a colon (obj:Method(...)).

Method Returns In game scripts Example Status
Variant container:Add(arg1, …) -> 1 value 1 value 6 calls, 3 files pGoal = pParameters:Add( goal.Id ) inferred
Variant container:AppendValue(…) — not called — inferred
Variant container:ContainsValue([arg1: integer], …) -> boolean, boolean boolean, boolean not called — inferred
Variant container:Get(arg1, …) -> 1 value 1 value 7 calls, 3 files local pValues:table = pParameters:Get( key ) inferred
Variant container:GetAt([arg1], …) -> 1 value 1 value not called — inferred
Variant container:GetCount(…) -> number, number, number number, number, number 5 calls, 4 files for i:number = 0, pParameters:GetCount() inferred
Variant container:GetKeyAt(arg1, …) -> number, number number, number 2 calls, 1 files local unitType = pParameters:GetKeyAt(i) inferred
Variant container:GetValue(…) -> 1 value 1 value not called — inferred
Variant container:GetValueAt(arg1, …) -> 1 value 1 value 4 calls, 4 files local value = pParameters:GetValueAt(i-1) inferred
Variant container:GetValueIndex([arg1: integer], …) -> number number not called — inferred
Variant container:InsertValueAt([arg1: integer], …) — not called — inferred
Variant container:Remove(arg1, …) — 4 calls, 3 files pParameters:Remove( key ) inferred
Variant container:RemoveAt([arg1], …) — not called — inferred
Variant container:SetValue(…) — not called — inferred
Variant container:SetValueAt([arg1: integer], …) — not called — inferred