First commit, step 4 completed

This commit is contained in:
bepis
2026-10-15 14:27:00 +11:00
commit 9a30efa170
5378 changed files with 1136719 additions and 0 deletions
@@ -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);