Files
block-game/ReplicatedStorage/Shared/PlacementState.lua
2026-01-08 22:58:58 +02:00

36 lines
1009 B
Lua

--!native
--!optimize 2
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PlacementState = {}
local selectedId: string = ""
local selectedName: string = ""
local changed = Instance.new("BindableEvent")
PlacementState.Changed = changed.Event
local valueObject = ReplicatedStorage:FindFirstChild("HotbarSelectedBlock")
if not valueObject then
valueObject = Instance.new("StringValue")
valueObject.Name = "HotbarSelectedBlock"
valueObject.Parent = ReplicatedStorage
end
PlacementState.ValueObject = valueObject
function PlacementState:SetSelected(id: string?, name: string?)
selectedId = id or ""
selectedName = name or selectedId
valueObject.Value = selectedName or ""
local Util = require(ReplicatedStorage:WaitForChild("Shared"):WaitForChild("Util"))
Util.StudioLog("[PLACE][CLIENT][SELECT]", "id", selectedId, "name", selectedName)
changed:Fire(selectedId, selectedName)
end
function PlacementState:GetSelected()
return selectedId, selectedName
end
return PlacementState