Merge pull request #524 from argonui/playermat-hider
Turned playermat hider into a dropdown option
This commit is contained in:
commit
b6c17a0b02
@ -173,7 +173,6 @@
|
|||||||
"TokenSpawnTracker.e3ffc9",
|
"TokenSpawnTracker.e3ffc9",
|
||||||
"TokenSource.124381",
|
"TokenSource.124381",
|
||||||
"GameData.3dbe47",
|
"GameData.3dbe47",
|
||||||
"PlayermatClickInterceptor.3dbe55",
|
|
||||||
"SCEDTour.0e5aa8",
|
"SCEDTour.0e5aa8",
|
||||||
"InstructionGenerator.240522",
|
"InstructionGenerator.240522",
|
||||||
"PlayerCards.2d30ee",
|
"PlayerCards.2d30ee",
|
||||||
|
@ -1 +1 @@
|
|||||||
{"acknowledgedUpgradeVersions":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaConnections":true,"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":[],"showPlayermatHider":false,"showSearchAssistant":[],"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}}
|
{"acknowledgedUpgradeVersions":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaConnections":true,"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":[],"showSearchAssistant":[],"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}}
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
"CYOACampaignGuides.e87ea2",
|
"CYOACampaignGuides.e87ea2",
|
||||||
"AttachmentHelper.7f4976",
|
"AttachmentHelper.7f4976",
|
||||||
"SearchAssistant.17aed0",
|
"SearchAssistant.17aed0",
|
||||||
"PlayermatHider.a758b2",
|
|
||||||
"HandHelper.450688",
|
"HandHelper.450688",
|
||||||
"DisplacementTool.0f1374",
|
"DisplacementTool.0f1374",
|
||||||
"CleanUpHelper.26cf4b"
|
"CleanUpHelper.26cf4b"
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
{
|
|
||||||
"AltLookAngle": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"z": 0
|
|
||||||
},
|
|
||||||
"Autoraise": true,
|
|
||||||
"ColorDiffuse": {
|
|
||||||
"b": 1,
|
|
||||||
"g": 1,
|
|
||||||
"r": 1
|
|
||||||
},
|
|
||||||
"CustomImage": {
|
|
||||||
"CustomTile": {
|
|
||||||
"Stackable": false,
|
|
||||||
"Stretch": true,
|
|
||||||
"Thickness": 0.1,
|
|
||||||
"Type": 3
|
|
||||||
},
|
|
||||||
"ImageScalar": 1,
|
|
||||||
"ImageSecondaryURL": "",
|
|
||||||
"ImageURL": "http://cloud-3.steamusercontent.com/ugc/2115061845796985108/F0ADB7094641DA966FFA3AF0CC6987D33D2D9591/",
|
|
||||||
"WidthScale": 0
|
|
||||||
},
|
|
||||||
"Description": "Use the buttons to show / hide a playermat.",
|
|
||||||
"DragSelectable": true,
|
|
||||||
"GMNotes": "",
|
|
||||||
"GUID": "a758b2",
|
|
||||||
"Grid": true,
|
|
||||||
"GridProjection": false,
|
|
||||||
"Hands": false,
|
|
||||||
"HideWhenFaceDown": false,
|
|
||||||
"IgnoreFoW": false,
|
|
||||||
"LayoutGroupSortIndex": 0,
|
|
||||||
"Locked": false,
|
|
||||||
"LuaScript": "require(\"accessories/PlayermatHider\")",
|
|
||||||
"LuaScriptState": "",
|
|
||||||
"MeasureMovement": false,
|
|
||||||
"Name": "Custom_Tile",
|
|
||||||
"Nickname": "Playermat Hider",
|
|
||||||
"Snap": true,
|
|
||||||
"Sticky": true,
|
|
||||||
"Tags": [
|
|
||||||
"CleanUpHelper_ignore"
|
|
||||||
],
|
|
||||||
"Tooltip": true,
|
|
||||||
"Transform": {
|
|
||||||
"posX": 0,
|
|
||||||
"posY": 2,
|
|
||||||
"posZ": 0,
|
|
||||||
"rotX": 0,
|
|
||||||
"rotY": 270,
|
|
||||||
"rotZ": 0,
|
|
||||||
"scaleX": 3,
|
|
||||||
"scaleY": 1,
|
|
||||||
"scaleZ": 3
|
|
||||||
},
|
|
||||||
"Value": 0,
|
|
||||||
"XmlUI": "\u003cInclude src=\"accessories/PlayermatHider.xml\"/\u003e"
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
{
|
|
||||||
"AltLookAngle": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"z": 0
|
|
||||||
},
|
|
||||||
"Autoraise": true,
|
|
||||||
"ColorDiffuse": {
|
|
||||||
"b": 0,
|
|
||||||
"g": 0,
|
|
||||||
"r": 0
|
|
||||||
},
|
|
||||||
"Description": "This object is used to hide playmats beneath the table.",
|
|
||||||
"DragSelectable": true,
|
|
||||||
"GMNotes": "",
|
|
||||||
"GUID": "3dbe55",
|
|
||||||
"Grid": true,
|
|
||||||
"GridProjection": false,
|
|
||||||
"Hands": false,
|
|
||||||
"HideWhenFaceDown": false,
|
|
||||||
"IgnoreFoW": false,
|
|
||||||
"LayoutGroupSortIndex": 0,
|
|
||||||
"Locked": true,
|
|
||||||
"LuaScriptState": "false",
|
|
||||||
"LuaScript_path": "PlayermatClickInterceptor.3dbe55.ttslua",
|
|
||||||
"MeasureMovement": false,
|
|
||||||
"Name": "BlockSquare",
|
|
||||||
"Nickname": "PlayermatClickInterceptor",
|
|
||||||
"Snap": true,
|
|
||||||
"Sticky": true,
|
|
||||||
"Tags": [
|
|
||||||
"CameraZoom_ignore",
|
|
||||||
"CleanUpHelper_ignore",
|
|
||||||
"displacement_excluded"
|
|
||||||
],
|
|
||||||
"Tooltip": false,
|
|
||||||
"Transform": {
|
|
||||||
"posX": -27.94,
|
|
||||||
"posY": -0.5,
|
|
||||||
"posZ": 0,
|
|
||||||
"rotX": 0,
|
|
||||||
"rotY": 270,
|
|
||||||
"rotZ": 0,
|
|
||||||
"scaleX": 84,
|
|
||||||
"scaleY": 1.5,
|
|
||||||
"scaleZ": 70
|
|
||||||
},
|
|
||||||
"Value": 0,
|
|
||||||
"XmlUI": ""
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
local interactable = false
|
|
||||||
|
|
||||||
function onSave() return JSON.encode(interactable) end
|
|
||||||
|
|
||||||
function onLoad(savedData)
|
|
||||||
if savedData and savedData ~= "" then
|
|
||||||
interactable = JSON.decode(savedData)
|
|
||||||
end
|
|
||||||
self.interactable = interactable
|
|
||||||
end
|
|
||||||
|
|
||||||
function setState(state)
|
|
||||||
interactable = state
|
|
||||||
self.interactable = interactable
|
|
||||||
end
|
|
@ -280,13 +280,14 @@ function tidyPlayerMatCoroutine()
|
|||||||
local trash = guidReferenceApi.getObjectByOwnerAndType(COLORS[i], "Trash")
|
local trash = guidReferenceApi.getObjectByOwnerAndType(COLORS[i], "Trash")
|
||||||
if trash == nil then
|
if trash == nil then
|
||||||
printToAll("Trashcan for " .. COLORS[i] .. " playmat could not be found!", "Red")
|
printToAll("Trashcan for " .. COLORS[i] .. " playmat could not be found!", "Red")
|
||||||
return 1
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
local objList
|
local objList
|
||||||
if i < 5 then
|
if i < 5 then
|
||||||
objList = playmatApi.searchAroundPlaymat(COLORS[i])
|
objList = playmatApi.searchAroundPlaymat(COLORS[i])
|
||||||
else
|
else
|
||||||
|
-- Victory Display + Mythos Area
|
||||||
objList = searchLib.inArea({ -2, 2, 10 }, { 0, 270, 0 }, { 55, 1, 13.5 })
|
objList = searchLib.inArea({ -2, 2, 10 }, { 0, 270, 0 }, { 55, 1, 13.5 })
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,33 +1,21 @@
|
|||||||
local guidReferenceApi = require("core/GUIDReferenceApi")
|
local guidReferenceApi = require("core/GUIDReferenceApi")
|
||||||
local playmatApi = require("playermat/PlaymatApi")
|
local playmatApi = require("playermat/PlaymatApi")
|
||||||
|
|
||||||
function onClick_hideShow(player, matColor)
|
function onClick_hide(player, matColor)
|
||||||
local objects = guidReferenceApi.getObjectsByOwner(matColor)
|
local objects = guidReferenceApi.getObjectsByOwner(matColor)
|
||||||
local actionTokens = playmatApi.searchAroundPlaymat(matColor, "isActionToken")
|
if not objects.Playermat then return end
|
||||||
local pos = objects.Playermat.getPosition()
|
|
||||||
local mod = (pos.y > 0) and -2 or 2
|
|
||||||
|
|
||||||
-- move all objects
|
player.showConfirmDialog("Really remove this playmat and related objects? This can't be reversed.",
|
||||||
for _, obj in pairs(objects) do
|
function()
|
||||||
obj.setPosition(obj.getPosition() + Vector(0, mod, 0))
|
-- remove action tokens
|
||||||
end
|
local actionTokens = playmatApi.searchAroundPlaymat(matColor, "isActionToken")
|
||||||
|
for _, obj in ipairs(actionTokens) do
|
||||||
|
obj.destruct()
|
||||||
|
end
|
||||||
|
|
||||||
-- move action tokens
|
-- remove mat owned objects
|
||||||
for _, obj in ipairs(actionTokens) do
|
for _, obj in pairs(objects) do
|
||||||
obj.setLock(pos.y > 0)
|
obj.destruct()
|
||||||
obj.setPosition(obj.getPosition() + Vector(0, mod, 0))
|
end
|
||||||
end
|
end)
|
||||||
|
|
||||||
-- set state of interceptor block
|
|
||||||
local allMats = guidReferenceApi.getObjectsByType("Playermat")
|
|
||||||
local state = false
|
|
||||||
for owner, mat in pairs(allMats) do
|
|
||||||
if mat.getPosition().y < 0 then
|
|
||||||
state = true
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local interceptor = getObjectFromGUID("3dbe55")
|
|
||||||
interceptor.call("setState", state)
|
|
||||||
end
|
end
|
||||||
|
@ -24,5 +24,17 @@ do
|
|||||||
return getGuidHandler().call("getObjectsByOwner", owner)
|
return getGuidHandler().call("getObjectsByOwner", owner)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- sends new information to the reference handler to edit the main index
|
||||||
|
---@param owner String Parent of the object
|
||||||
|
---@param type String Type of the object
|
||||||
|
---@param guid String GUID of the object
|
||||||
|
GUIDReferenceApi.editIndex = function(owner, type, guid)
|
||||||
|
return getGuidHandler().call("editIndex", {
|
||||||
|
owner = owner,
|
||||||
|
type = type,
|
||||||
|
guid = guid
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
return GUIDReferenceApi
|
return GUIDReferenceApi
|
||||||
end
|
end
|
||||||
|
@ -90,12 +90,43 @@ local GuidReferences = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local editsToIndex = {
|
||||||
|
White = {},
|
||||||
|
Orange = {},
|
||||||
|
Green = {},
|
||||||
|
Red = {},
|
||||||
|
Mythos = {}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- save function to keep edits to the index
|
||||||
|
function onSave() return JSON.encode({ editsToIndex = editsToIndex }) end
|
||||||
|
|
||||||
|
-- load function to restore edits to the index
|
||||||
|
function onLoad(savedData)
|
||||||
|
if savedData and savedData ~= "" then
|
||||||
|
local loadedData = JSON.decode(savedData)
|
||||||
|
editsToIndex = loadedData.editsToIndex
|
||||||
|
updateMainIndex()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- merges the main index and the edits
|
||||||
|
function updateMainIndex()
|
||||||
|
for owner, subTable in pairs(editsToIndex) do
|
||||||
|
for type, guid in pairs(subTable) do
|
||||||
|
GuidReferences[owner][type] = guid
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- returns an object reference for the requested owner and type
|
||||||
function getObjectByOwnerAndType(params)
|
function getObjectByOwnerAndType(params)
|
||||||
local owner = params.owner or "Mythos"
|
local owner = params.owner or "Mythos"
|
||||||
local type = params.type
|
local type = params.type
|
||||||
return getObjectFromGUID(GuidReferences[owner][type])
|
return getObjectFromGUID(GuidReferences[owner][type])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- returns a list of objects for the requested type
|
||||||
function getObjectsByType(type)
|
function getObjectsByType(type)
|
||||||
local objList = {}
|
local objList = {}
|
||||||
for owner, objects in pairs(GuidReferences) do
|
for owner, objects in pairs(GuidReferences) do
|
||||||
@ -107,6 +138,7 @@ function getObjectsByType(type)
|
|||||||
return objList
|
return objList
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- returns a list of objects for the requested owner
|
||||||
function getObjectsByOwner(owner)
|
function getObjectsByOwner(owner)
|
||||||
local objList = {}
|
local objList = {}
|
||||||
for type, guid in pairs(GuidReferences[owner]) do
|
for type, guid in pairs(GuidReferences[owner]) do
|
||||||
@ -117,3 +149,9 @@ function getObjectsByOwner(owner)
|
|||||||
end
|
end
|
||||||
return objList
|
return objList
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- makes an edit to the main index
|
||||||
|
function editIndex(params)
|
||||||
|
editsToIndex[params.owner][params.type] = params.guid
|
||||||
|
updateMainIndex()
|
||||||
|
end
|
||||||
|
@ -253,7 +253,7 @@ function switchSeat(playerColor, direction)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- swap color
|
-- swap color
|
||||||
navigationOverlayApi.loadCamera(playerColor, usedColors[index])
|
navigationOverlayApi.loadCamera(Player[playerColor], usedColors[index])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- takes a clue from a location, player needs to hover the clue directly or the location
|
-- takes a clue from a location, player needs to hover the clue directly or the location
|
||||||
|
@ -1215,6 +1215,45 @@ function returnResourceCounterId(name)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- called by the playermat removal selection dropdown
|
||||||
|
function playermatRemovalSelected(player, selectedIndex, id)
|
||||||
|
if selectedIndex == "0" then return end
|
||||||
|
|
||||||
|
local matColorList = { "White", "Orange", "Green", "Red" }
|
||||||
|
local matColor = matColorList[tonumber(selectedIndex)]
|
||||||
|
local mat = guidReferenceApi.getObjectByOwnerAndType(matColor, "Playermat")
|
||||||
|
|
||||||
|
if mat then
|
||||||
|
-- confirmation dialog about deletion
|
||||||
|
player.pingTable(mat.getPosition())
|
||||||
|
player.showConfirmDialog("Do you really want to remove " .. matColor .. "'s playermat and related objects? This can't be reversed.", function() removePlayermat(matColor) end)
|
||||||
|
else
|
||||||
|
-- info dialog that it is already deleted
|
||||||
|
player.showInfoDialog(matColor .. "'s playermat has already been removed.")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- set selected value back to first option
|
||||||
|
UI.setAttribute(id, "value", 0)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- removes a playermat and all related objects from play
|
||||||
|
---@param matColor String Color of the playermat to remove
|
||||||
|
function removePlayermat(matColor)
|
||||||
|
local matObjects = guidReferenceApi.getObjectsByOwner(matColor)
|
||||||
|
if not matObjects.Playermat then return end
|
||||||
|
|
||||||
|
-- remove action tokens
|
||||||
|
local actionTokens = playmatApi.searchAroundPlaymat(matColor, "isActionToken")
|
||||||
|
for _, obj in ipairs(actionTokens) do
|
||||||
|
obj.destruct()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- remove mat owned objects
|
||||||
|
for _, obj in pairs(matObjects) do
|
||||||
|
obj.destruct()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- sets the option panel to the correct state (corresponding to 'optionPanel')
|
-- sets the option panel to the correct state (corresponding to 'optionPanel')
|
||||||
function updateOptionPanelState()
|
function updateOptionPanelState()
|
||||||
for id, optionValue in pairs(optionPanel) do
|
for id, optionValue in pairs(optionPanel) do
|
||||||
@ -1289,22 +1328,22 @@ function applyOptionPanelChange(id, state)
|
|||||||
|
|
||||||
-- option: Show hand helper for each player
|
-- option: Show hand helper for each player
|
||||||
elseif id == "showHandHelper" then
|
elseif id == "showHandHelper" then
|
||||||
for i, color in ipairs(MAT_COLORS) do
|
local helperName = "Hand Helper"
|
||||||
local pos = playmatApi.transformLocalPosition({0.05, 0, -1.182}, color)
|
local spawnData = playmatApi.getHelperSpawnData("All", helperName)
|
||||||
local rot = playmatApi.returnRotation(color)
|
local i = 0
|
||||||
optionPanel[id][i] = spawnOrRemoveHelper(state, "Hand Helper", pos, rot)
|
for color, data in pairs(spawnData) do
|
||||||
|
i = i + 1
|
||||||
|
optionPanel[id][i] = spawnOrRemoveHelper(state, helperName, data.position, data.rotation, color)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- option: Show playermat hider
|
|
||||||
elseif id == "showPlayermatHider" then
|
|
||||||
optionPanel[id] = spawnOrRemoveHelper(state, "Playermat Hider", {-48, 1.6, 46})
|
|
||||||
|
|
||||||
-- option: Show search assistant for each player
|
-- option: Show search assistant for each player
|
||||||
elseif id == "showSearchAssistant" then
|
elseif id == "showSearchAssistant" then
|
||||||
for i, color in ipairs(MAT_COLORS) do
|
local helperName = "Search Assistant"
|
||||||
local pos = playmatApi.transformLocalPosition({-0.3, 0, -1.182}, color)
|
local spawnData = playmatApi.getHelperSpawnData("All", helperName)
|
||||||
local rot = playmatApi.returnRotation(color)
|
local i = 0
|
||||||
optionPanel[id][i] = spawnOrRemoveHelper(state, "Search Assistant", pos, rot)
|
for color, data in pairs(spawnData) do
|
||||||
|
i = i + 1
|
||||||
|
optionPanel[id][i] = spawnOrRemoveHelper(state, helperName, data.position, data.rotation, color)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- option: Show attachment helper
|
-- option: Show attachment helper
|
||||||
@ -1326,13 +1365,17 @@ end
|
|||||||
---@param name String Name of the helper object
|
---@param name String Name of the helper object
|
||||||
---@param position Vector Position of the object (where it will spawn)
|
---@param position Vector Position of the object (where it will spawn)
|
||||||
---@param rotation Vector Rotation of the object for spawning (default: {0, 270, 0})
|
---@param rotation Vector Rotation of the object for spawning (default: {0, 270, 0})
|
||||||
|
---@param owner String Owner of the object (defaults to "Mythos")
|
||||||
---@return. GUID of the spawnedObj (or nil if object was removed)
|
---@return. GUID of the spawnedObj (or nil if object was removed)
|
||||||
function spawnOrRemoveHelper(state, name, position, rotation)
|
function spawnOrRemoveHelper(state, name, position, rotation, owner)
|
||||||
if (type(state) == "table" and #state == 0) then
|
if (type(state) == "table" and #state == 0) then
|
||||||
return removeHelperObject(name)
|
return removeHelperObject(name)
|
||||||
elseif state then
|
elseif state then
|
||||||
Player.getPlayers()[1].pingTable(position)
|
Player.getPlayers()[1].pingTable(position)
|
||||||
return spawnHelperObject(name, position, rotation).getGUID()
|
local spawnedGUID = spawnHelperObject(name, position, rotation).getGUID()
|
||||||
|
local cleanName = name:gsub("%s+", "")
|
||||||
|
guidReferenceApi.editIndex(owner or "Mythos", cleanName, spawnedGUID)
|
||||||
|
return spawnedGUID
|
||||||
else
|
else
|
||||||
return removeHelperObject(name)
|
return removeHelperObject(name)
|
||||||
end
|
end
|
||||||
@ -1376,7 +1419,6 @@ function removeHelperObject(name)
|
|||||||
local referenceTable = {
|
local referenceTable = {
|
||||||
["Clean Up Helper"] = "showCleanUpHelper",
|
["Clean Up Helper"] = "showCleanUpHelper",
|
||||||
["Hand Helper"] = "showHandHelper",
|
["Hand Helper"] = "showHandHelper",
|
||||||
["Playermat Hider"] = "showPlayermatHider",
|
|
||||||
["Search Assistant"] = "showSearchAssistant",
|
["Search Assistant"] = "showSearchAssistant",
|
||||||
["Displacement Tool"] = "showDisplacementTool",
|
["Displacement Tool"] = "showDisplacementTool",
|
||||||
["Attachment Helper"] = "showAttachmentHelper",
|
["Attachment Helper"] = "showAttachmentHelper",
|
||||||
@ -1431,7 +1473,6 @@ function onClick_defaultSettings()
|
|||||||
showDisplacementTool = false,
|
showDisplacementTool = false,
|
||||||
showDrawButton = false,
|
showDrawButton = false,
|
||||||
showHandHelper = {},
|
showHandHelper = {},
|
||||||
showPlayermatHider = false,
|
|
||||||
showSearchAssistant = {},
|
showSearchAssistant = {},
|
||||||
showTitleSplash = true,
|
showTitleSplash = true,
|
||||||
useClueClickers = false,
|
useClueClickers = false,
|
||||||
|
@ -25,9 +25,9 @@ do
|
|||||||
-- loads the specified camera for a player
|
-- loads the specified camera for a player
|
||||||
---@param player TTSPlayerInstance Player whose camera should be moved
|
---@param player TTSPlayerInstance Player whose camera should be moved
|
||||||
---@param camera Variant If number: Index of the camera view to load | If string: Color of the playermat to swap to
|
---@param camera Variant If number: Index of the camera view to load | If string: Color of the playermat to swap to
|
||||||
NavigationOverlayApi.loadCamera = function(playerColor, camera)
|
NavigationOverlayApi.loadCamera = function(player, camera)
|
||||||
getNOHandler().call("loadCameraFromApi", {
|
getNOHandler().call("loadCameraFromApi", {
|
||||||
playerColor = playerColor,
|
player = player,
|
||||||
camera = camera
|
camera = camera
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
@ -292,7 +292,7 @@ function getDynamicViewBounds(objList)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function loadCameraFromApi(params)
|
function loadCameraFromApi(params)
|
||||||
loadCamera(Player[params.playerColor], params.camera)
|
loadCamera(params.player, params.camera)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- loads the specified camera for a player
|
-- loads the specified camera for a player
|
||||||
|
@ -96,6 +96,26 @@ do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Returns a table with spawn data (position and rotation) for a helper object
|
||||||
|
---@param matColor String Color of the playmat - White, Orange, Green, Red or All
|
||||||
|
---@param helperName String Name of the helper object
|
||||||
|
PlaymatApi.getHelperSpawnData = function(matColor, helperName)
|
||||||
|
local resultTable = {}
|
||||||
|
local localPositionTable = {
|
||||||
|
["Hand Helper"] = {0.05, 0, -1.182},
|
||||||
|
["Search Assistant"] = {-0.3, 0, -1.182}
|
||||||
|
}
|
||||||
|
|
||||||
|
for color, mat in pairs(getMatForColor(matColor)) do
|
||||||
|
resultTable[color] = {
|
||||||
|
position = mat.positionToWorld(localPositionTable[helperName]),
|
||||||
|
rotation = mat.getRotation()
|
||||||
|
}
|
||||||
|
end
|
||||||
|
return resultTable
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
-- Triggers the Upkeep for the requested playmat
|
-- Triggers the Upkeep for the requested playmat
|
||||||
---@param matColor String Color of the playmat - White, Orange, Green, Red or All
|
---@param matColor String Color of the playmat - White, Orange, Green, Red or All
|
||||||
---@param playerColor String Color of the calling player (for messages)
|
---@param playerColor String Color of the calling player (for messages)
|
||||||
|
@ -297,6 +297,28 @@
|
|||||||
</Cell>
|
</Cell>
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
|
<!-- Option: remove a player mat -->
|
||||||
|
<Row class="option-text"
|
||||||
|
tooltip="Remove an unused playermat for more table space.
Displayed are the default colors.">
|
||||||
|
<Cell class="option-singleColumn">
|
||||||
|
<Panel class="singleColumn-wrapper">
|
||||||
|
<Text class="option-header">Remove a playermat</Text>
|
||||||
|
</Panel>
|
||||||
|
</Cell>
|
||||||
|
<Cell class="option-doubleColumn">
|
||||||
|
<Panel class="doubleColumn-wrapper">
|
||||||
|
<Dropdown id="removePlayermat"
|
||||||
|
onValueChanged="playermatRemovalSelected(selectedIndex)">
|
||||||
|
<Option>Click to select</Option>
|
||||||
|
<Option>1: White</Option>
|
||||||
|
<Option>2: Orange</Option>
|
||||||
|
<Option>3: Green</Option>
|
||||||
|
<Option>4: Red</Option>
|
||||||
|
</Dropdown>
|
||||||
|
</Panel>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
|
||||||
<!-- Group: fan-made accessories -->
|
<!-- Group: fan-made accessories -->
|
||||||
<Row class="group-header">
|
<Row class="group-header">
|
||||||
<Cell class="group-header">
|
<Cell class="group-header">
|
||||||
@ -351,7 +373,7 @@
|
|||||||
|
|
||||||
<!-- Option: show displacement tool -->
|
<!-- Option: show displacement tool -->
|
||||||
<Row class="option-text"
|
<Row class="option-text"
|
||||||
tooltip="This allows moving all objects on the main playmat
in a chosen direction.">
|
tooltip="This allows moving all objects on the main play area
in a chosen direction.">
|
||||||
<Cell class="option-text">
|
<Cell class="option-text">
|
||||||
<Panel class="singleColumn-wrapper">
|
<Panel class="singleColumn-wrapper">
|
||||||
<Text class="option-header">Displacement Tool</Text>
|
<Text class="option-header">Displacement Tool</Text>
|
||||||
@ -377,20 +399,6 @@
|
|||||||
</Cell>
|
</Cell>
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
<!-- Option: show playermat hider -->
|
|
||||||
<Row class="option-text"
|
|
||||||
tooltip="Use this tool to hide unused playermats
for more table space.">
|
|
||||||
<Cell class="option-text">
|
|
||||||
<Panel class="singleColumn-wrapper">
|
|
||||||
<Text class="option-header">Playmat Hider</Text>
|
|
||||||
</Panel>
|
|
||||||
</Cell>
|
|
||||||
<Cell class="option-button">
|
|
||||||
<Toggle id="showPlayermatHider"
|
|
||||||
onValueChanged="onClick_toggleOption(showPlayermatHider)"/>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
|
|
||||||
<!-- Option: show search assistant -->
|
<!-- Option: show search assistant -->
|
||||||
<Row class="option-text"
|
<Row class="option-text"
|
||||||
tooltip="Quickly search 3, 6, 9 or the top X
cards of your deck!">
|
tooltip="Quickly search 3, 6, 9 or the top X
cards of your deck!">
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
<Defaults>
|
|
||||||
<Text color="White"
|
|
||||||
fontSize="110"
|
|
||||||
alignment="MiddleLeft"
|
|
||||||
font="font_teutonic-arkham"/>
|
|
||||||
<Button fontSize="110"
|
|
||||||
height="200"
|
|
||||||
width="600"
|
|
||||||
hoverClass="bGrey"
|
|
||||||
pressClass="bWhite"
|
|
||||||
selectClass="bWhite"
|
|
||||||
color="#aaaaaa"
|
|
||||||
font="font_teutonic-arkham"/>
|
|
||||||
<Button class="bGrey"
|
|
||||||
color="grey"/>
|
|
||||||
<Button class="bWhite"
|
|
||||||
color="white"/>
|
|
||||||
<Button class="activeTab"
|
|
||||||
color="#ffffff"/>
|
|
||||||
<Row preferredHeight="300"/>
|
|
||||||
</Defaults>
|
|
||||||
|
|
||||||
<TableLayout height="1600"
|
|
||||||
width="1800"
|
|
||||||
columnWidths="1000 800"
|
|
||||||
rotation="0 0 180"
|
|
||||||
position="0 0 -11"
|
|
||||||
scale="0.1 0.1 0.1"
|
|
||||||
cellBackgroundColor="none">
|
|
||||||
<Row preferredHeight="400">
|
|
||||||
<Cell columnSpan="2">
|
|
||||||
<Text fontSize="200"
|
|
||||||
alignment="UpperCenter">Playermat Hider</Text>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Cell>
|
|
||||||
<Text color="White">Playermat 1 (White)</Text>
|
|
||||||
</Cell>
|
|
||||||
<Cell>
|
|
||||||
<Panel>
|
|
||||||
<Button onClick="onClick_hideShow(White)">Show / Hide</Button>
|
|
||||||
</Panel>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Cell>
|
|
||||||
<Text color="Orange">Playermat 2 (Orange)</Text>
|
|
||||||
</Cell>
|
|
||||||
<Cell>
|
|
||||||
<Panel>
|
|
||||||
<Button onClick="onClick_hideShow(Orange)">Show / Hide</Button>
|
|
||||||
</Panel>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Cell>
|
|
||||||
<Text color="Green">Playermat 3 (Green)</Text>
|
|
||||||
</Cell>
|
|
||||||
<Cell>
|
|
||||||
<Panel>
|
|
||||||
<Button onClick="onClick_hideShow(Green)">Show / Hide</Button>
|
|
||||||
</Panel>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<Cell>
|
|
||||||
<Text color="Red">Playermat 4 (Red)</Text>
|
|
||||||
</Cell>
|
|
||||||
<Cell>
|
|
||||||
<Panel>
|
|
||||||
<Button onClick="onClick_hideShow(Red)">Show / Hide</Button>
|
|
||||||
</Panel>
|
|
||||||
</Cell>
|
|
||||||
</Row>
|
|
||||||
</TableLayout>
|
|
Loading…
Reference in New Issue
Block a user