local HousingExpertModeUI = { Name = "HousingExpertModeUI", Type = "System", Namespace = "C_HousingExpertMode", Environment = "All", Functions = { { 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; Will not reset any already-applied changes" }, }, { Name = "CommitDecorMovement", Type = "Function", Documentation = { "Attempt to save the changes made to the currently selected decor instance" }, }, { Name = "CommitHouseExteriorPosition", Type = "Function", Documentation = { "Attempt to save the changes made to the House Exterior's position within the plot" }, }, { 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 = "GetPrecisionSubmode", Type = "Function", Documentation = { "Returns the currently active Expert submode, if there is one" }, Returns = { { Name = "activeSubMode", Type = "HousingPrecisionSubmode", Nilable = true }, }, }, { Name = "GetPrecisionSubmodeRestriction", Type = "Function", SecretArguments = "AllowedWhenUntainted", Documentation = { "Returns the type of restriction currently active on the submode; Will return HousingExpertSubmodeRestriction:None if submode is not currently restricted" }, Arguments = { { Name = "subMode", Type = "HousingPrecisionSubmode", Nilable = false }, }, Returns = { { Name = "restriction", Type = "HousingExpertSubmodeRestriction", 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 = "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 = "IsHouseExteriorHovered", Type = "Function", Documentation = { "Returns true if the house's exterior is currently being hovered" }, Returns = { { Name = "isHouseExteriorHovered", Type = "bool", Nilable = false }, }, }, { Name = "IsHouseExteriorSelected", Type = "Function", Documentation = { "Returns true if the house's exterior is currently selected" }, Returns = { { Name = "isHouseExteriorSelected", 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 = "RemoveSelectedDecor", Type = "Function", Documentation = { "Attempt to return the currently selected decor instance back to the house chest" }, }, { Name = "ResetPrecisionChanges", Type = "Function", SecretArguments = "AllowedWhenUntainted", Documentation = { "Reset the selected target's transform back to default values; This is NOT an undo, meaning it will completely reset the transform value to default, NOT just recently-made changes" }, Arguments = { { Name = "activeSubmodeOnly", Type = "bool", Nilable = false, Documentation = { "If true, only transform values associated with the currently active submode with be reset (ex: in Scale submode, only target's scale will be reset); If false, all transform values will be reset" } }, }, }, { Name = "SelectNextRotationAxis", Type = "Function", Documentation = { "In the rotation submode, swaps the selected axis to the next available one, in order of X -> Y -> Z (wrapping back around to X again, etc); If no axis is selected, selects the first available one, also in that order" }, }, { Name = "SetGridVisible", Type = "Function", SecretArguments = "AllowedWhenUntainted", Arguments = { { Name = "gridVisible", Type = "bool", Nilable = false }, }, }, { Name = "SetPrecisionIncrementingActive", Type = "Function", SecretArguments = "AllowedWhenUntainted", Documentation = { "Sets a specific type of incremental change active or inactive; Whilever that type is active and target stays selected, incremental changes of that type will continue to be made every frame" }, Arguments = { { Name = "incrementType", Type = "HousingIncrementType", Nilable = false }, { Name = "active", Type = "bool", Nilable = false }, }, }, { Name = "SetPrecisionSubmode", Type = "Function", SecretArguments = "AllowedWhenUntainted", Documentation = { "Activate a specific Expert submode" }, Arguments = { { Name = "subMode", Type = "HousingPrecisionSubmode", Nilable = false }, }, }, }, Events = { { Name = "HousingDecorPrecisionManipulationEvent", Type = "Event", LiteralName = "HOUSING_DECOR_PRECISION_MANIPULATION_EVENT", SynchronousEvent = true, Payload = { { Name = "event", Type = "TransformManipulatorEvent", Nilable = false }, }, }, { Name = "HousingDecorPrecisionManipulationStatusChanged", Type = "Event", LiteralName = "HOUSING_DECOR_PRECISION_MANIPULATION_STATUS_CHANGED", SynchronousEvent = true, Payload = { { Name = "isManipulatingSelection", Type = "bool", Nilable = false }, }, }, { Name = "HousingDecorPrecisionSubmodeChanged", Type = "Event", LiteralName = "HOUSING_DECOR_PRECISION_SUBMODE_CHANGED", SynchronousEvent = true, Payload = { { Name = "activeSubmode", Type = "HousingPrecisionSubmode", Nilable = true }, }, }, { Name = "HousingExpertModeHoveredTargetChanged", Type = "Event", LiteralName = "HOUSING_EXPERT_MODE_HOVERED_TARGET_CHANGED", SynchronousEvent = true, Payload = { { Name = "hasHoveredTarget", Type = "bool", Nilable = false }, { Name = "targetType", Type = "HousingExpertModeTargetType", Nilable = false }, }, }, { Name = "HousingExpertModePlacementFlagsUpdated", Type = "Event", LiteralName = "HOUSING_EXPERT_MODE_PLACEMENT_FLAGS_UPDATED", SynchronousEvent = true, Payload = { { Name = "targetType", Type = "HousingExpertModeTargetType", Nilable = false }, { Name = "activeFlags", Type = "HousingDecorPlacementRestriction", Nilable = false }, }, }, { Name = "HousingExpertModeSelectedTargetChanged", Type = "Event", LiteralName = "HOUSING_EXPERT_MODE_SELECTED_TARGET_CHANGED", SynchronousEvent = true, Payload = { { Name = "hasSelectedTarget", Type = "bool", Nilable = false }, { Name = "targetType", Type = "HousingExpertModeTargetType", Nilable = false }, }, }, }, Tables = { { Name = "HousingExpertModeTargetType", Type = "Enumeration", NumValues = 3, MinValue = 0, MaxValue = 2, Fields = { { Name = "None", Type = "HousingExpertModeTargetType", EnumValue = 0 }, { Name = "Decor", Type = "HousingExpertModeTargetType", EnumValue = 1 }, { Name = "House", Type = "HousingExpertModeTargetType", EnumValue = 2 }, }, }, { Name = "HousingExpertSubmodeRestriction", Type = "Enumeration", NumValues = 4, MinValue = 0, MaxValue = 3, Fields = { { Name = "None", Type = "HousingExpertSubmodeRestriction", EnumValue = 0 }, { Name = "NotInExpertMode", Type = "HousingExpertSubmodeRestriction", EnumValue = 1 }, { Name = "NoHouseExteriorScale", Type = "HousingExpertSubmodeRestriction", EnumValue = 2 }, { Name = "NoWMOScale", Type = "HousingExpertSubmodeRestriction", EnumValue = 3 }, }, }, { Name = "HousingIncrementType", Type = "Enumeration", NumValues = 10, MinValue = 1, MaxValue = 512, Fields = { { Name = "Left", Type = "HousingIncrementType", EnumValue = 1 }, { Name = "Right", Type = "HousingIncrementType", EnumValue = 2 }, { Name = "Forward", Type = "HousingIncrementType", EnumValue = 4 }, { Name = "Back", Type = "HousingIncrementType", EnumValue = 8 }, { Name = "Up", Type = "HousingIncrementType", EnumValue = 16 }, { Name = "Down", Type = "HousingIncrementType", EnumValue = 32 }, { Name = "RotateLeft", Type = "HousingIncrementType", EnumValue = 64 }, { Name = "RotateRight", Type = "HousingIncrementType", EnumValue = 128 }, { Name = "ScaleUp", Type = "HousingIncrementType", EnumValue = 256 }, { Name = "ScaleDown", Type = "HousingIncrementType", EnumValue = 512 }, }, }, { Name = "HousingPrecisionSubmode", Type = "Enumeration", NumValues = 3, MinValue = 0, MaxValue = 2, Fields = { { Name = "Translate", Type = "HousingPrecisionSubmode", EnumValue = 0 }, { Name = "Rotate", Type = "HousingPrecisionSubmode", EnumValue = 1 }, { Name = "Scale", Type = "HousingPrecisionSubmode", EnumValue = 2 }, }, }, }, Predicates = { }, }; APIDocumentation:AddDocumentationTable(HousingExpertModeUI);