Scripts/resources/[standalone]/bob74_ipl/dlc_executive/apartment3.lua

137 lines
4.0 KiB
Lua
Raw Normal View History

2024-12-29 20:02:20 +00:00
-- Apartment 3: -787.78050000 334.92320000 186.11340000
exports('GetExecApartment3Object', function()
return ExecApartment3
end)
ExecApartment3 = {
currentInteriorId = -1,
Style = {
Theme = {
modern = {
interiorId = 227841,
ipl = "apa_v_mp_h_01_c"
},
moody = {
interiorId = 228609,
ipl = "apa_v_mp_h_02_c"
},
vibrant = {
interiorId = 229377,
ipl = "apa_v_mp_h_03_c"
},
sharp = {
interiorId = 230145,
ipl = "apa_v_mp_h_04_c"
},
monochrome = {
interiorId = 230913,
ipl = "apa_v_mp_h_05_c"
},
seductive = {
interiorId = 231681,
ipl = "apa_v_mp_h_06_c"
},
regal = {
interiorId = 232449,
ipl = "apa_v_mp_h_07_c"
},
aqua = {
interiorId = 233217,
ipl = "apa_v_mp_h_08_c"
}
},
Set = function(style, refresh)
if type(style) == "table" then
ExecApartment3.Style.Clear()
ExecApartment3.currentInteriorId = style.interiorId
EnableIpl(style.ipl, true)
if refresh then
RefreshInterior(style.interiorId)
end
end
end,
Clear = function()
for key, value in pairs(ExecApartment3.Style.Theme) do
SetIplPropState(value.interiorId, {
"Apart_Hi_Strip_A",
"Apart_Hi_Strip_B",
"Apart_Hi_Strip_C"
}, false)
SetIplPropState(value.interiorId, {
"Apart_Hi_Booze_A",
"Apart_Hi_Booze_B",
"Apart_Hi_Booze_C"
}, false)
SetIplPropState(value.interiorId, {
"Apart_Hi_Smokes_A",
"Apart_Hi_Smokes_B",
"Apart_Hi_Smokes_C"
}, false, true)
EnableIpl(value.ipl, false)
end
end
},
Strip = {
A = "Apart_Hi_Strip_A",
B = "Apart_Hi_Strip_B",
C = "Apart_Hi_Strip_C",
Enable = function(details, state, refresh)
SetIplPropState(ExecApartment3.currentInteriorId, details, state, refresh)
end
},
Booze = {
A = "Apart_Hi_Booze_A",
B = "Apart_Hi_Booze_B",
C = "Apart_Hi_Booze_C",
Enable = function(details, state, refresh)
SetIplPropState(ExecApartment3.currentInteriorId, details, state, refresh)
end
},
Smoke = {
none = "",
stage1 = "Apart_Hi_Smokes_A",
stage2 = "Apart_Hi_Smokes_B",
stage3 = "Apart_Hi_Smokes_C",
Set = function(smoke, refresh)
ExecApartment3.Smoke.Clear(false)
if smoke ~= nil then
SetIplPropState(ExecApartment3.currentInteriorId, smoke, true, refresh)
else
if refresh then
RefreshInterior(ExecApartment3.currentInteriorId)
end
end
end,
Clear = function(refresh)
SetIplPropState(ExecApartment3.currentInteriorId, {
ExecApartment3.Smoke.stage1,
ExecApartment3.Smoke.stage2,
ExecApartment3.Smoke.stage3
}, false, refresh)
end
},
LoadDefault = function()
ExecApartment3.Style.Set(ExecApartment3.Style.Theme.sharp, true)
ExecApartment3.Strip.Enable({
ExecApartment3.Strip.A,
ExecApartment3.Strip.B,
ExecApartment3.Strip.C
}, true)
ExecApartment3.Booze.Enable({
ExecApartment3.Booze.A,
ExecApartment3.Booze.B,
ExecApartment3.Booze.C
}, true)
ExecApartment3.Smoke.Set(ExecApartment3.Smoke.none)
end
}