83f75c2318
Initialize the SCED repository by moving most scripts from TTS objects to separate files which are included via require().
162 lines
3.5 KiB
Plaintext
162 lines
3.5 KiB
Plaintext
MIN_VALUE = -99
|
|
MAX_VALUE = 999
|
|
|
|
function onload(saved_data)
|
|
light_mode = false
|
|
val = 0
|
|
|
|
if saved_data ~= "" then
|
|
local loaded_data = JSON.decode(saved_data)
|
|
light_mode = loaded_data[1]
|
|
val = loaded_data[2]
|
|
end
|
|
p1ClueCounter = getObjectFromGUID("37be78")
|
|
p2ClueCounter = getObjectFromGUID("1769ed")
|
|
p3ClueCounter = getObjectFromGUID("032300")
|
|
p4ClueCounter = getObjectFromGUID("d86b7c")
|
|
|
|
timerID = self.getGUID()..math.random(9999999999999)
|
|
Timer.create({
|
|
identifier=timerID,
|
|
function_name="totalCounters", function_owner=self,
|
|
repetitions=0, delay=1
|
|
})
|
|
createAll()
|
|
end
|
|
|
|
function loadPlayerCounters()
|
|
p1ClueCounter = getObjectFromGUID("37be78")
|
|
p2ClueCounter = getObjectFromGUID("1769ed")
|
|
p3ClueCounter = getObjectFromGUID("032300")
|
|
p4ClueCounter = getObjectFromGUID("d86b7c")
|
|
end
|
|
|
|
|
|
function totalCounters()
|
|
if p1ClueCounter == nil or p2ClueCounter == nil or p3ClueCounter == nil or p4ClueCounter == nil then
|
|
loadPlayerCounters()
|
|
end
|
|
local p1ClueCount = p1ClueCounter.getVar("exposedValue")
|
|
local p2ClueCount = p2ClueCounter.getVar("exposedValue")
|
|
local p3ClueCount = p3ClueCounter.getVar("exposedValue")
|
|
local p4ClueCount = p4ClueCounter.getVar("exposedValue")
|
|
val = tonumber(p1ClueCount) + tonumber(p2ClueCount) + tonumber(p3ClueCount) + tonumber(p4ClueCount)
|
|
updateVal()
|
|
updateSave()
|
|
end
|
|
|
|
function updateSave()
|
|
local data_to_save = {light_mode, val}
|
|
saved_data = JSON.encode(data_to_save)
|
|
self.script_state = saved_data
|
|
end
|
|
|
|
function createAll()
|
|
s_color = {0.5, 0.5, 0.5, 95}
|
|
|
|
if light_mode then
|
|
f_color = {1,1,1,95}
|
|
else
|
|
f_color = {0,0,0,100}
|
|
end
|
|
|
|
self.createButton({
|
|
label=tostring(val),
|
|
click_function="removeAllPlayerClues",
|
|
function_owner=self,
|
|
position={0,0.05,0},
|
|
height=600,
|
|
width=1000,
|
|
alignment = 3,
|
|
tooltip = "Click button to remove all clues from all investigators",
|
|
scale={x=1.5, y=1.5, z=1.5},
|
|
font_size=600,
|
|
font_color=f_color,
|
|
color={0,0,0,0}
|
|
})
|
|
|
|
if light_mode then
|
|
lightButtonText = "[ Set dark ]"
|
|
else
|
|
lightButtonText = "[ Set light ]"
|
|
end
|
|
|
|
end
|
|
|
|
function removeAll()
|
|
self.removeInput(0)
|
|
self.removeInput(1)
|
|
self.removeButton(0)
|
|
self.removeButton(1)
|
|
self.removeButton(2)
|
|
end
|
|
|
|
function removeAllPlayerClues()
|
|
p1ClueCounter.call("removeAllClues")
|
|
p2ClueCounter.call("removeAllClues")
|
|
p3ClueCounter.call("removeAllClues")
|
|
p4ClueCounter.call("removeAllClues")
|
|
end
|
|
|
|
|
|
function reloadAll()
|
|
removeAll()
|
|
createAll()
|
|
updateSave()
|
|
end
|
|
|
|
function swap_fcolor(_obj, _color, alt_click)
|
|
light_mode = not light_mode
|
|
reloadAll()
|
|
end
|
|
|
|
function swap_align(_obj, _color, alt_click)
|
|
center_mode = not center_mode
|
|
reloadAll()
|
|
end
|
|
|
|
function editName(_obj, _string, value)
|
|
self.setName(value)
|
|
setTooltips()
|
|
end
|
|
|
|
function updateVal()
|
|
self.editButton({
|
|
index = 0,
|
|
label = tostring(val),
|
|
|
|
})
|
|
end
|
|
|
|
function reset_val()
|
|
val = 0
|
|
updateVal()
|
|
updateSave()
|
|
end
|
|
|
|
function setTooltips()
|
|
self.editInput({
|
|
index = 0,
|
|
value = self.getName(),
|
|
tooltip = "Click button to remove all clues from all investigators"
|
|
})
|
|
self.editButton({
|
|
index = 0,
|
|
value = tostring(val),
|
|
|
|
})
|
|
end
|
|
|
|
function null()
|
|
end
|
|
|
|
function keepSample(_obj, _string, value)
|
|
reloadAll()
|
|
end
|
|
|
|
function onDestroy()
|
|
if timerID and type(timerID) == 'object' then
|
|
Timer.destroy(timerID)
|
|
end
|
|
end
|