First commit, step 4 completed
This commit is contained in:
@@ -0,0 +1,531 @@
|
||||
local HousingDecorUI =
|
||||
{
|
||||
Name = "HousingDecorUI",
|
||||
Type = "System",
|
||||
Namespace = "C_HousingDecor",
|
||||
Environment = "All",
|
||||
|
||||
Functions =
|
||||
{
|
||||
{
|
||||
Name = "AnyDecorPlacedInRoom",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Returns true if any decor objects are placed in a given room" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "roomGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isPlaced", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "CancelActiveEditing",
|
||||
Type = "Function",
|
||||
Documentation = { "Cancels all in-progress editing of the selected target, which will reset any unsaved changes and deselect the active target" },
|
||||
},
|
||||
{
|
||||
Name = "CommitDecorMovement",
|
||||
Type = "Function",
|
||||
Documentation = { "Attempt to save the changes made to the currently selected decor instance" },
|
||||
},
|
||||
{
|
||||
Name = "EnterPreviewState",
|
||||
Type = "Function",
|
||||
},
|
||||
{
|
||||
Name = "ExitPreviewState",
|
||||
Type = "Function",
|
||||
},
|
||||
{
|
||||
Name = "GetAllMaxPlacementBudgets",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns the interior and exterior max decor placement budgets for the current owned house interior or plot; Can be increased via house level" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "interiorMaxBudgets", Type = "table", InnerType = "number", KeyType = "HousingBudgetType", Nilable = true, Documentation = { "Map of budget type to max budget amount; Will be nil if not in an owned House or Plot" } },
|
||||
{ Name = "exteriorMaxBudgets", Type = "table", InnerType = "number", KeyType = "HousingBudgetType", Nilable = true, Documentation = { "Map of budget type to max budget amount; Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetAllPlacedDecor",
|
||||
Type = "Function",
|
||||
HasRestrictions = true,
|
||||
Documentation = { "Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "placedDecor", Type = "table", InnerType = "HousingDecorInstanceListEntry", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetAllSpentPlacementBudgets",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns how much of the interior and exterior placement budgets for the current owned house interior or plot's decor budget have been spent" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "interiorSpentBudgets", Type = "table", InnerType = "number", KeyType = "HousingBudgetType", Nilable = true, Documentation = { "Map of budget type to spent budget amount; Will be nil if not in an owned House or Plot" } },
|
||||
{ Name = "exteriorSpentBudgets", Type = "table", InnerType = "number", KeyType = "HousingBudgetType", Nilable = true, Documentation = { "Map of budget type to spent budget amount; Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorAssignedPetName",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Returns pet name for the placed decor instance associated with the passed Decor GUID, if there is one" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "name", Type = "string", Nilable = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorCanAttachPet",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorID", Type = "number", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "canAttachPet", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorHyperlink",
|
||||
Type = "Function",
|
||||
MayReturnNothing = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorID", Type = "number", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "hyperLink", Type = "string", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorIcon",
|
||||
Type = "Function",
|
||||
MayReturnNothing = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorID", Type = "number", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "icon", Type = "fileID", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorInstanceInfoForGUID",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Returns info for the placed decor instance associated with the passed Decor GUID, if there is one" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "info", Type = "HousingDecorInstanceInfo", Nilable = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetDecorName",
|
||||
Type = "Function",
|
||||
MayReturnNothing = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorID", Type = "number", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "name", Type = "string", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetHoveredDecorInfo",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns info for the placed decor instance currently being hovered, if there is one" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "info", Type = "HousingDecorInstanceInfo", Nilable = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetMaxPetPlacementBudget",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns the max pet decor placement budget for the current owned house interior or plot" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "maxBudget", Type = "number", Nilable = true, Documentation = { "Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetMaxPlacementBudget",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns the max decor placement budget for the current owned house interior or plot; Can be increased via house level" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "maxBudget", Type = "number", Nilable = true, Documentation = { "Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetNumDecorPlaced",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns the number of individual decor objects placed in the current house or plot; This is NOT the value used in placement budget calculations, see GetSpentPlacementBudget for that" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "numPlaced", Type = "number", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetNumPreviewDecor",
|
||||
Type = "Function",
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "numDecor", Type = "number", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetSelectedDecorInfo",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns info for the placed decor instance that's currently selected, if there is one" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "info", Type = "HousingDecorInstanceInfo", Nilable = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetSpentPetPlacementBudget",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns how much of the current owned house interior or plot's pet decor placement budget has been spent" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "totalCost", Type = "number", Nilable = true, Documentation = { "Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "GetSpentPlacementBudget",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns how much of the current owned house interior or plot's decor placement budget has been spent; Different kinds of decor take up different budget amounts, so this value isn't an individual decor count, see GetNumDecorPlaced for that" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "totalCost", Type = "number", Nilable = true, Documentation = { "Will be nil if not in an owned House or Plot" } },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HasMaxPlacementBudget",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns whether there's a max decor placement budget available and active for the current player, in the current house interior or plot" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "hasMaxBudget", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsDecorSelected",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns true if a placed decor instance is currently selected" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "hasSelectedDecor", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsGridVisible",
|
||||
Type = "Function",
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "gridVisible", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsHouseExteriorDoorHovered",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns true if the entry door of the house's exterior is currently being hovered" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isHouseExteriorDoorHovered", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsHouseExteriorHovered",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns true if the house's exterior is currently being hovered" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isHouseExteriorHovered", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsHoveringDecor",
|
||||
Type = "Function",
|
||||
Documentation = { "Returns true if a placed decor instance is currently being hovered" },
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isHoveringDecor", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsModeDisabledForPreviewState",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "mode", Type = "HouseEditorMode", Nilable = false },
|
||||
},
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isModeDisabled", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "IsPreviewState",
|
||||
Type = "Function",
|
||||
|
||||
Returns =
|
||||
{
|
||||
{ Name = "isPreviewState", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "RemovePlacedDecorEntry",
|
||||
Type = "Function",
|
||||
HasRestrictions = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "RemoveSelectedDecor",
|
||||
Type = "Function",
|
||||
Documentation = { "Attempt to return the currently selected decor instance back to the house chest" },
|
||||
},
|
||||
{
|
||||
Name = "SetGridVisible",
|
||||
Type = "Function",
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "gridVisible", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "SetPlacedDecorEntryHovered",
|
||||
Type = "Function",
|
||||
HasRestrictions = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
{ Name = "hovered", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "SetPlacedDecorEntrySelected",
|
||||
Type = "Function",
|
||||
HasRestrictions = true,
|
||||
SecretArguments = "AllowedWhenUntainted",
|
||||
Documentation = { "Placed Decor List APIs currently restricted due to being potentially very expensive operations, may be reworked & opened up in the future" },
|
||||
|
||||
Arguments =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
{ Name = "selected", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Events =
|
||||
{
|
||||
{
|
||||
Name = "HouseDecorAddedToChest",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSE_DECOR_ADDED_TO_CHEST",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
{ Name = "decorID", Type = "number", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HouseExteriorPositionFailure",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSE_EXTERIOR_POSITION_FAILURE",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "housingResult", Type = "HousingResult", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HouseExteriorPositionSuccess",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSE_EXTERIOR_POSITION_SUCCESS",
|
||||
SynchronousEvent = true,
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorGridVisibilityStatusChanged",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_GRID_VISIBILITY_STATUS_CHANGED",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "isGridVisible", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorPlaceFailure",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_PLACE_FAILURE",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "housingResult", Type = "HousingResult", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorPlaceSuccess",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_PLACE_SUCCESS",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
{ Name = "size", Type = "HousingCatalogEntrySize", Nilable = false },
|
||||
{ Name = "isNew", Type = "bool", Nilable = false, Documentation = { "Will be true if the decor is newly placed from storage, false if it was already placed and just moved" } },
|
||||
{ Name = "isPreview", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorPreviewStateChanged",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_PREVIEW_STATE_CHANGED",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "isPreviewState", Type = "bool", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorRemoved",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_REMOVED",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorSelectResponse",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_DECOR_SELECT_RESPONSE",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "result", Type = "HousingResult", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingNewDecorPlaceComplete",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_NEW_DECOR_PLACE_COMPLETE",
|
||||
SynchronousEvent = true,
|
||||
Payload =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingNumDecorPlacedChanged",
|
||||
Type = "Event",
|
||||
LiteralName = "HOUSING_NUM_DECOR_PLACED_CHANGED",
|
||||
SynchronousEvent = true,
|
||||
},
|
||||
},
|
||||
|
||||
Tables =
|
||||
{
|
||||
{
|
||||
Name = "LightRadiusIndicatorType",
|
||||
Type = "Enumeration",
|
||||
NumValues = 3,
|
||||
MinValue = 0,
|
||||
MaxValue = 2,
|
||||
Fields =
|
||||
{
|
||||
{ Name = "Always", Type = "LightRadiusIndicatorType", EnumValue = 0 },
|
||||
{ Name = "Overlap", Type = "LightRadiusIndicatorType", EnumValue = 1 },
|
||||
{ Name = "Never", Type = "LightRadiusIndicatorType", EnumValue = 2 },
|
||||
},
|
||||
},
|
||||
{
|
||||
Name = "HousingDecorInstanceListEntry",
|
||||
Type = "Structure",
|
||||
Documentation = { "Smaller structs with the minimum fields from HousingDecorInstanceInfo needed to identify/display a slim list of placed decor" },
|
||||
Fields =
|
||||
{
|
||||
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
|
||||
{ Name = "name", Type = "cstring", Nilable = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Predicates =
|
||||
{
|
||||
},
|
||||
};
|
||||
|
||||
APIDocumentation:AddDocumentationTable(HousingDecorUI);
|
||||
Reference in New Issue
Block a user