removal of obsolete files

This commit is contained in:
Chr1Z93 2023-05-08 22:13:12 +02:00
parent df7673cdfb
commit 25e07b1e46
10 changed files with 91 additions and 700 deletions

View File

@ -18,7 +18,6 @@
"TokenArranger.022907",
"CYOACampaignGuides.e87ea2",
"AttachmentHelper.7f4976",
"NavigationOverlay.a8affa",
"SearchAssistant.17aed0",
"HandHelper.450688",
"DisplacementTool.0f1374",

View File

@ -1,56 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 0,
"g": 0.36652,
"r": 0.70588
},
"ContainedObjects_order": [
"NavigationOverlay.e5803c",
"CameraPlacementHelper.cecc3e",
"NavigationOverlayTile.9f2481"
],
"ContainedObjects_path": "NavigationOverlay.a8affa",
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "a8affa",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Navigation Overlay",
"Snap": true,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": 76.955,
"posY": 36.39,
"posZ": 4.123,
"rotX": 0,
"rotY": 180,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,52 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 0.18382,
"g": 0.18382,
"r": 0.18382
},
"CustomAssetbundle": {
"AssetbundleSecondaryURL": "",
"AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/880873968289806692/67F62868DF65CD9CC43F3CDCDED7BACA0F075422/",
"LoopingEffectIndex": 0,
"MaterialIndex": 2,
"TypeIndex": 4
},
"Description": "[b]Camera Placement Helper[/b]\n\nIf you want to use another object as the focus for the camera, you may do so by enter its GUID into this object's NAME field.\n\nIf you put a space and a number, the camera rotation will be offset by that amount. POSITIVE NUMBERS ONLY.\n\n[i]Example:[/i]\ncecc3e 90\n",
"DragSelectable": true,
"GMNotes": "",
"GUID": "cecc3e",
"Grid": false,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "OptionPanelSource.830bd0/NavigationOverlay.a8affa/CameraPlacementHelper.cecc3e.ttslua",
"MeasureMovement": false,
"Name": "Custom_Assetbundle",
"Nickname": "Camera Placement Helper",
"Snap": false,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -12.658,
"posY": 3.538,
"posZ": 28.573,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 0.58,
"scaleY": 0.58,
"scaleZ": 0.58
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,174 +0,0 @@
--Data tables used in button creation
ref_modifyPitchButtons = {
{ offset = -0.37, func = function() click_modify(-1, 0) end },
{ offset = -1.11, func = function() click_modify(-5, 0) end },
{ offset = 0.37, func = function() click_modify(1, 0) end },
{ offset = 1.11, func = function() click_modify(5, 0) end },
}
ref_modifyDistanceButtons = {
{ offset = -0.37, func = function() click_modify(-1, 1) end },
{ offset = -1.11, func = function() click_modify(-5, 1) end },
{ offset = 0.37, func = function() click_modify(1, 1) end },
{ offset = 1.11, func = function() click_modify(5, 1) end },
}
--On-demand save function, remembers pitch and distance values
function updateSave()
self.script_state = JSON.encode({ pitch = pitch, distance = distance })
end
--Startup, loading memory
function onload(saved_data)
--Loads the tracking for if the game has started yet
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
pitch = loaded_data.pitch
distance = loaded_data.distance
else
pitch = 45
distance = 30
end
createInputs()
createButtons()
end
--Activated by finishing writing in the input box, updates save info
function input_entered(inputString, stillEditing, typeIndex)
if stillEditing == false then
--Check to avoid empty input strings
if tonumber(inputString) == nil then inputString = 0 end
--Update save data
if typeIndex == 0 then
pitch = inputString
else
distance = inputString
end
updateSave()
end
end
--Activated by button, the -5 -1 +1 +5 buttons
function click_modify(amount, typeIndex)
if typeIndex == 0 then
pitch = pitch + amount
self.editInput({ index = typeIndex, value = pitch })
else
distance = distance + amount
self.editInput({ index = typeIndex, value = distance })
end
updateSave()
end
--Activated by button, uses the data to move the camera
function click_setCamera(_, color)
--Check if there is another object to use instead of self
local targetObj = self
local nameGUID = string.sub(self.getName(), 1, 6)
if getObjectFromGUID(nameGUID) ~= nil then
targetObj = getObjectFromGUID(nameGUID)
end
--Check if there is an offset to use instead of 180
local offsetY = 180
local offsetString = string.sub(self.getName(), 7)
if tonumber(string.match(offsetString, "%d+")) ~= nil then
offsetY = tonumber(string.match(offsetString, "%d+"))
end
--Move camera into position around object
local pos = targetObj.getPosition()
local rot = targetObj.getRotation()
rot.y = rot.y + offsetY
Player[color].lookAt({ position = pos, pitch = pitch, yaw = rot.y, distance = distance })
--Send values to main tile
for _, v in ipairs(getObjects()) do
if v.getName() == "Navigation Overlay Tile" then
v.call('updateEditCamera', { { pos.x, pos.y, pos.z }, tonumber(pitch), rot.y, tonumber(distance) })
break
end
end
end
--Button/Input creation
--Text boxes for number input
function createInputs()
local funcName = "inputFuncNamePitch"
local func = function(_, _, x, z) input_entered(x, z, 0) end
self.setVar(funcName, func)
self.createInput({
input_function = funcName,
function_owner = self,
label = "input",
alignment = 2,
position = { -3.4, 0.35, -0.21 },
rotation = { 0, 0, 0 },
height = 420,
width = 1400,
font_size = 400,
color = { 57 / 255, 46 / 255, 40 / 255 },
font_color = { 1, 1, 1 },
value = pitch,
validation = 3
})
local funcName = "inputFuncNameDistance"
local func = function(_, _, x, z) input_entered(x, z, 1) end
self.setVar(funcName, func)
self.createInput({
input_function = funcName,
function_owner = self,
label = "input",
alignment = 4,
position = { 3.4, 0.35, -0.21 },
rotation = { 0, 0, 0 },
height = 420,
width = 1400,
font_size = 400,
color = { 57 / 255, 46 / 255, 40 / 255 },
font_color = { 1, 1, 1 },
value = distance,
validation = 3
})
end
--Center button and -5 - +5 buttons
function createButtons()
self.createButton({
click_function = "click_setCamera",
function_owner = self,
position = { 0, 0.4, 0 },
height = 900,
width = 900,
color = { 1, 1, 1, 0 },
tooltip = "Set camera to this angle"
})
for i, ref in ipairs(ref_modifyPitchButtons) do
local funcName = "pitchModifyFunction_" .. i
self.setVar(funcName, ref.func)
local pos = { -3.4 + ref.offset, 0.3, 0.6 }
self.createButton({
click_function = funcName,
function_owner = self,
position = pos,
height = 240,
width = 320,
color = { 1, 1, 1, 0 }
})
end
for i, ref in ipairs(ref_modifyDistanceButtons) do
local funcName = "distanceModifyFunction_" .. i
self.setVar(funcName, ref.func)
local pos = { 3.4 + ref.offset, 0.3, 0.6 }
self.createButton({
click_function = funcName,
function_owner = self,
position = pos,
height = 240,
width = 320,
color = { 1, 1, 1, 0 }
})
end
end

View File

@ -1,227 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "Controls a movable overlay allowing for quick movement to various parts of the table. There should only be one tile per table.\n\nFull Table: Displays a larger overlay corresponding to the whole table.\n\nPlay Area: Displays a much smaller overlay only covering the play area.",
"DragSelectable": true,
"GMNotes": "",
"GUID": "e5803c",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Navigation Overlay",
"Snap": true,
"States": {
"2": {
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "If there is only 1 player, clicking a button to move to a playmat will change the player's color to that playmat's color. Changes to camera settings will apply to all colors.\n\nIf there is more than 1 player, displaying the overlay or editing a camera setting will only apply to your color.",
"DragSelectable": true,
"GMNotes": "",
"GUID": "3051f2",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Navigation Overlay",
"Snap": true,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -69.47138,
"posY": 1.551499,
"posZ": -50.97995,
"rotX": -6.706855e-8,
"rotY": 90.00628,
"rotZ": 3.98763333e-9,
"scaleX": 0.7,
"scaleY": 1,
"scaleZ": 0.7
},
"Value": 0,
"XmlUI": ""
},
"3": {
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "Edit Camera: TTS does not make accessing camera settings easy, so this is done using a modified version of MrStump's Camera Placement Helper.\n\nTo use the Helper, place it in the position you want the camera to look, with the desired rotation. Set the Pitch and Distance values. Click \"Set camera to this angle\".",
"DragSelectable": true,
"GMNotes": "",
"GUID": "579a11",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Navigation Overlay: Edit Camera (1/2)",
"Snap": true,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -69.47138,
"posY": 1.55149889,
"posZ": -50.97995,
"rotX": -4.66551136e-8,
"rotY": 90.00628,
"rotZ": 9.637148e-9,
"scaleX": 0.7,
"scaleY": 1,
"scaleZ": 0.7
},
"Value": 0,
"XmlUI": ""
},
"4": {
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "1. Click \"Edit Camera\"\n2. Click a button in the overlay, it will turn green.\n3. Use the Camera Placement Helper to set the camera view.\n4. When clicking \"Set camera to this angle\" produces the correct camera view, click the green button in the overlay again to set the camera. Click a red button to cancel.",
"DragSelectable": true,
"GMNotes": "",
"GUID": "045a3e",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Navigation Overlay: Edit Camera (2/2)",
"Snap": true,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -69.47138,
"posY": 1.55149889,
"posZ": -50.97995,
"rotX": -1.21061817e-7,
"rotY": 90.00628,
"rotZ": 9.462388e-8,
"scaleX": 0.7,
"scaleY": 1,
"scaleZ": 0.7
},
"Value": 0,
"XmlUI": ""
},
"5": {
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "Claim Color: This is useful if you are running a game where one person controls 2 colors, and one controls the other two, and you wish to have your player color switch when you click White or Red, but not if you click Green or Orange.\n\nWhen you click Claim Color, the playmat areas of the overlay will turn white. Clicking one will allow you to switch to that color with the overlay. ",
"DragSelectable": true,
"GMNotes": "",
"GUID": "516664",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Navigation Overlay: Claim Colors",
"Snap": true,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -38.4611664,
"posY": 1.59,
"posZ": -1.54776835,
"rotX": 5.3783765e-8,
"rotY": 90.00012,
"rotZ": 8.552772e-8,
"scaleX": 0.7,
"scaleY": 1,
"scaleZ": 0.7
},
"Value": 0,
"XmlUI": ""
}
},
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -37.692,
"posY": 3.67,
"posZ": 9.23,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 0.7,
"scaleY": 1,
"scaleZ": 0.7
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,56 +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": 0
},
"ImageScalar": 1,
"ImageURL": "http://cloud-3.steamusercontent.com/ugc/2021591230456185506/15AF790F0622B57C1F629DB3A8C38F2A99D0EB1B/",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "9f2481",
"Grid": false,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Custom_Tile",
"Nickname": "Navigation Overlay Tile",
"Snap": false,
"Sticky": true,
"Tooltip": true,
"Transform": {
"posX": -12.93,
"posY": 3.562,
"posZ": 28.568,
"rotX": 0,
"rotY": 270,
"rotZ": 1,
"scaleX": 3,
"scaleY": 1,
"scaleZ": 3
},
"Value": 0,
"XmlUI": ""
}

View File

@ -38,6 +38,7 @@ local soundCubeApi = require("core/SoundCubeApi")
local mythosAreaApi = require("core/MythosAreaApi")
local tokenArrangerApi = require("accessories/TokenArrangerApi")
local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi")
local navigationOverlayApi = require("core/NavigationOverlayApi")
-- online functionality related variables
local MOD_VERSION = "3.1.0"
@ -643,8 +644,7 @@ end
function onClick_toggleUi(player, title)
if title == "Navigation Overlay" then
local navigationOverlayHandler = getObjectFromGUID("797ede")
navigationOverlayHandler.call("cycleVisibility", player.color)
navigationOverlayApi.cycleVisibility(player.color)
return
end

View File

@ -12,5 +12,11 @@ do
})
end
-- Changes the Navigation Overlay view ("Full View" --> "Play Areas" --> "Closed" etc.)
---@param playerColor String Color of the player to update the visibility for
NavigationOverlayApi.cycleVisibility = function(playerColor)
getObjectFromGUID(HANDLER_GUID).call("cycleVisibility", playerColor)
end
return NavigationOverlayApi
end

View File

@ -1,4 +1,5 @@
local playmatApi = require("playermat/PlaymatApi")
fullButtonData = {
{ id = "1", width = "84", height = "33", offset = "1 2" }, -- Act/Agenda
{ id = "2", width = "78", height = "69", offset = "1 -62" }, -- Map
@ -58,13 +59,16 @@ defaultCameraParams = {
{ position = { -59.08, 1.55, -83 }, distance = 27 } -- 18. Additions
}
local cameraParams = { {}, {}, {}, {} }
local playermatData = { {}, {}, {}, {} }
local editing = false
local claiming = false
local cameraParams = {}
local visibility = {}
local claims = {}
---------------------------------------------------------
-- save/load functionality
---------------------------------------------------------
function onSave()
return JSON.encode({
cameras = cameraParams,
@ -89,27 +93,30 @@ function onLoad(savedData)
updateVisibility()
end
---------------------------------------------------------
-- visibility related functions
---------------------------------------------------------
function cycleVisibility(color)
setVisibility("next", color)
end
function copyVisibility(params)
visibility[params.targetColor] = {
full = visibility[params.startColor].full,
play = visibility[params.startColor].play
}
updateVisibility()
end
function setVisibility(type, color)
if type == "next" then
if visibility[color].full then
visibility[color] = {
full = false,
play = true
}
visibility[color] = { full = false, play = true }
elseif visibility[color].play then
visibility[color] = {
full = false,
play = false
}
visibility[color] = { full = false, play = false }
else
visibility[color] = {
full = true,
play = false
}
visibility[color] = { full = true, play = false }
end
elseif type == "toggle" then
visibility[color] = {
@ -117,60 +124,43 @@ function setVisibility(type, color)
play = not visibility[color].play
}
else
visibility[color] = {
full = false,
play = false
}
visibility[color] = { full = false, play = false }
end
updateVisibility()
end
function getIndices(color)
local playerCount = #getSeatedPlayers()
if playerCount == 0 then
return {}
elseif playerCount == 1 then
return { 1, 2, 3, 4 }
else
return { getIndexForPlayerColor(color) }
end
end
function resetCameras()
for v = 1, 4 do
cameraParams[v] = {}
for i = 1, #defaultCameraParams do
cameraParams[v][i] = {}
cameraParams[v][i].position = defaultCameraParams[i].position
cameraParams[v][i].pitch = 75
cameraParams[v][i].yaw = 90
cameraParams[v][i].distance = defaultCameraParams[i].distance
end
end
end
-- update XML visibility
function updateVisibility()
local fullColors = "Black"
local playColors = "Black"
local colorString = {full = "", play = ""}
for color, v in pairs(visibility) do
if v.full then
fullColors = fullColors .. '|' .. color
if colorString.full == "" then
colorString.full = color
else
colorString.full = colorString.full .. '|' .. color
end
elseif v.play then
playColors = playColors .. '|' .. color
if colorString.play == "" then
colorString.play = color
else
colorString.play = colorString.play .. '|' .. color
end
end
end
log(fullColors)
log(playColors)
-- update the visibility on the XML
UI.setAttribute("navPanelFull", "visibility", fullColors)
UI.setAttribute("navPanelPlay", "visibility", playColors)
UI.setAttribute("navPanelFull", "visibility", colorString.full)
UI.setAttribute("navPanelPlay", "visibility", colorString.play)
UI.setAttribute("navPanelFull", "active", colorString.full ~= "")
UI.setAttribute("navPanelPlay", "active", colorString.play ~= "")
end
---------------------------------------------------------
-- XML creating/editing
---------------------------------------------------------
function updateXmlButtons()
local ui = UI.getXmlTable()
ui = updateXmlButtonHelper(ui, {
@ -249,53 +239,30 @@ function findTagWithId(ui, id)
return nil
end
---------------------------------------------------------
-- core functionality
---------------------------------------------------------
-- handles all button clicks
function buttonClicked(player, _, idValue)
local buttonID = tonumber(idValue)
local index = tonumber(idValue)
if buttonID == 19 then
if index == 19 then
setVisibility("toggle", player.color)
return
elseif buttonID == 20 then
elseif index == 20 then
setVisibility("close", player.color)
return
end
if editing then
if selectedEditButton < 0 then
selectedEditButton = buttonID
else
if buttonID == selectedEditButton and editDistance > 0 then
for _, v in ipairs(getIndices(color)) do
cameraParams[v][selectedEditButton].position = editPos
cameraParams[v][selectedEditButton].pitch = editPitch
cameraParams[v][selectedEditButton].yaw = editYaw
cameraParams[v][selectedEditButton].distance = editDistance
end
end
editing = false
selectedEditButton = -1
end
updateXmlButtons()
elseif claiming then
if buttonID >= 3 and buttonID <= 6 then
local colors = {"White", "Orange", "Green", "Red"}
local matColor = colors[buttonID - 2]
claims[player.color][matColor] = not claims[player.color][matColor]
end
claiming = false
updateXmlButtons()
else
loadCamera(player, _, buttonID)
end
loadCamera(player, _, index)
end
function loadCamera(player, _, index)
local lookHere
-- only do map zooming if the camera hasn't been specially set by user
if index == 2 and cameraParams[playerIndex][index].distance <= 0 then
if index == 2 and cameraParams[player.color][index].distance <= 0 then
local zone = getObjectFromGUID("a2f932")
local minX, minZ, maxX, maxZ = 100, 100, -100, -100
@ -314,16 +281,15 @@ function loadCamera(player, _, index)
end
end
player.lookAt({
lookHere = {
position = { (minX + maxX) / 2, 0, (minZ + maxZ) / 2 },
pitch = 75,
yaw = 90,
distance = 0.96 * math.max(maxX - minX, (maxZ - minZ) / 1.6) + 5
})
}
elseif index >= 3 and index <= 6 then
local newMatIndex = index - 2 -- mat index 1 - 4
local colorList = { "White", "Orange", "Green", "Red" }
local newMatColor = colorList[newMatIndex]
local newMatColor = colorList[index - 2] -- mat index 1 - 4
local newPlayerColor = playmatApi.getPlayerColor(newMatColor)
if newMatColor ~= nil and (#getSeatedPlayers() == 1 or claims[player.color][newMatColor]) then
@ -331,8 +297,8 @@ function loadCamera(player, _, index)
player.changeColor(newPlayerColor)
end
if cameraParams[newMatIndex][index].distance <= 0 then
local divisor, minX, maxX, minZ, maxZ
if cameraParams[player.color][index].distance <= 0 then
local minX, maxX, minZ, maxZ
for _, v in pairs(playmatApi.searchPlaymat(newMatColor)) do
local bounds = v.hit_object.getBounds()
@ -347,38 +313,16 @@ function loadCamera(player, _, index)
maxZ = math.max(z2, maxZ or z2)
end
-- White/Orange
if index == 3 or index == 4 then
divisor = {x = 1.5, z = 1.5 } -- screen ratio * 1.2 (for my macbook pro, no idea how to generalize this)
-- Green/Red
else
divisor = {x = 1.5, z = 1.5}
end
-- need to wait if the player color changed
Wait.frames(
function() player.lookAt({
position = { (minX + maxX) / 2, 0, (minZ + maxZ) / 2 },
pitch = 75,
yaw = playmatApi.returnRotation(newMatColor).y + 180,
distance = 0.64 * math.max((maxX - minX) / divisor.x, (maxZ - minZ) / divisor.z) + 7
})
end, 2)
else
Wait.frames(function() player.lookAt(cameraParams[newMatIndex][index]) end, 2)
lookHere = {
position = { (minX + maxX) / 2, 0, (minZ + maxZ) / 2 },
pitch = 75,
yaw = playmatApi.returnRotation(newMatColor).y + 180,
distance = 0.42 * math.max(maxX - minX, maxZ - minZ) + 7
}
end
else
local playerIndex = getIndexForPlayerColor(player.color)
player.lookAt(cameraParams[playerIndex][index])
end
end
function copyVisibility(params)
visibility[params.targetColor] = {
full = visibility[params.startColor].full,
play = visibility[params.startColor].play
}
updateVisibility()
-- delay is to account for colorswap
Wait.frames(function() player.lookAt(lookHere or cameraParams[player.color][index]) end, 2)
end
function beginClaimColor()
@ -405,6 +349,23 @@ function updateEditCamera(params)
editDistance = params[4]
end
---------------------------------------------------------
-- functions to reset/initialize tables
---------------------------------------------------------
function resetCameras()
for _, color in ipairs(Player.getColors()) do
cameraParams[color] = {}
for i = 1, #defaultCameraParams do
cameraParams[color][i] = {}
cameraParams[color][i].yaw = 90
cameraParams[color][i].pitch = 75
cameraParams[color][i].position = defaultCameraParams[i].position
cameraParams[color][i].distance = defaultCameraParams[i].distance
end
end
end
function resetClaimColors()
for _, seatedColor in ipairs(getSeatedPlayers()) do
claims[seatedColor] = {}
@ -419,13 +380,3 @@ function resetVisibility()
visibility[color] = { full = false, play = false }
end
end
function getIndexForPlayerColor(color)
local index = { White = 1, Orange = 2, Green = 3, Red = 4 }
if index[color] then
return index[color]
else
return -1
end
end

View File

@ -1,7 +1,7 @@
<!-- Defaults -->
<Defaults>
<Panel class="navPanel"
visibility="Black"
active="false"
allowDragging="true"
rectAlignment="LowerRight"
returnToOriginalPositionWhenReleased="false"