// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import {Game} from "cog/IGame.sol"; import {State} from "cog/IState.sol"; import {Schema} from "@ds/schema/Schema.sol"; import {Actions} from "@ds/actions/Actions.sol"; import {BuildingKind} from "@ds/ext/BuildingKind.sol"; using Schema for State; contract BasicFactory is BuildingKind { function use(Game ds, bytes24 buildingInstance, bytes24, /*actor*/ bytes memory /*payload*/ ) public override { ds.getDispatcher().dispatch(abi.encodeCall(Actions.CRAFT, (buildingInstance))); } }