// SPDX-License-Identifier: MIT pragma solidity >=0.8.24; import { ResourceId } from "@latticexyz/store/src/ResourceId.sol"; /** * @title IEveSystem * @author CCP Games * @notice Interface for the EveSystem contract that defines all public functions */ interface IEveSystem { /** * @notice Register a smart character class with the given type ID * @param typeId The type ID for the smart character class * @param volume The volume for the smart character class */ function registerSmartCharacterClass(uint256 typeId, uint256 volume) external; /** * @notice Configure access for EntityRecordSystem */ function configureEntityRecordAccess() external; /** * @notice Configure access for SmartAssemblySystem */ function configureSmartAssemblyAccess() external; /** * @notice Configure access for SmartCharacterSystem */ function configureSmartCharacterAccess() external; /** * @notice Configure access for LocationSystem */ function configureLocationAccess() external; /** * @notice Configure access for FuelSystem */ function configureFuelAccess() external; /** * @notice Configure access for DeployableSystem */ function configureDeployableAccess() external; /** * @notice Configure access for InventorySystem */ function configureInventoryAccess() external; /** * @notice Configure access for EphemeralInventorySystem */ function configureEphemeralInventoryAccess() external; /** * @notice Configure access for InventoryInteractSystem */ function configureInventoryInteractAccess() external; /** * @notice Configure access for EphemeralInteractSystem */ function configureEphemeralInteractAccess() external; /** * @notice Configure access for SmartStorageUnitSystem */ function configureSmartStorageUnitAccess() external; /** * @notice Configure access for SmartTurretSystem */ function configureSmartTurretAccess() external; /** * @notice Configure access for SmartGateSystem */ function configureSmartGateAccess() external; /** * @notice Configure access for KillMailSystem */ function configureKillMailAccess() external; /** * @notice Configure access for OwnershipSystem */ function configureOwnershipAccess() external; }