wanda/data/scripts/prefabs/pocketwatchpack.lua
2021-10-06 18:01:47 +03:00

66 lines
1.8 KiB
Lua

local assets = {
Asset("ANIM", "anim/pocketwatchpack.zip"),
Asset("ATLAS", "images/inventoryimages/pocketwatchpack.xml")
}
local prefabs = {}
local function onopen(inst)
end
local function onclose(inst)
local owner = inst and inst.components and inst.components.inventoryitem and inst.components.inventoryitem.owner or nil
local container = owner and owner.components and owner.components.inventory and owner.components.inventory:GetOverflowContainer() or nil
if container ~= nil then
container:Open(owner)
end
end
local function ondropped(inst)
if inst.components.container ~= nil then
inst.components.container:Close()
end
end
local function fn()
local inst = CreateEntity()
inst.entity:AddTransform()
inst.entity:AddAnimState()
inst.entity:AddSoundEmitter()
inst.entity:AddNetwork()
MakeInventoryPhysics(inst)
inst.AnimState:SetBank("pocketwatchpack")
inst.AnimState:SetBuild("pocketwatchpack")
inst.AnimState:PlayAnimation("idle")
MakeInventoryFloatable(inst)
inst.entity:SetPristine()
if not TheWorld.ismastersim then
return inst
end
inst:AddComponent("inspectable")
inst:AddComponent("inventoryitem")
inst.components.inventoryitem.imagename = "pocketwatchpack"
inst.components.inventoryitem.atlasname = "images/inventoryimages/pocketwatchpack.xml"
inst.components.inventoryitem.canonlygoinpocket = true -- can't store a pocket watch bag into a backpack etc
inst.components.inventoryitem.keepondeath = true
inst.components.inventoryitem.keepondrown = true
inst.components.inventoryitem:SetOnDroppedFn(ondropped)
inst:AddComponent("container")
inst.components.container:WidgetSetup("pocketwatchpack")
--inst.components.container.onopenfn = onopen
inst.components.container.onclosefn = onclose
MakeHauntableLaunchAndDropFirstItem(inst)
return inst
end
return Prefab("pocketwatchpack", fn, assets, prefabs)