Basic HIDL
parent
5a5199f91f
commit
6fcfea664f
|
@ -0,0 +1,80 @@
|
||||||
|
namespace hypercosm
|
||||||
|
|
||||||
|
interface Object {
|
||||||
|
version 0 0 0
|
||||||
|
|
||||||
|
methods {
|
||||||
|
list_interfaces() -> []string
|
||||||
|
release()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Root {
|
||||||
|
version 0 0 0
|
||||||
|
|
||||||
|
methods {
|
||||||
|
list_extenstions() -> []string
|
||||||
|
ping()
|
||||||
|
get_object_by_id(id: uuid) -> object
|
||||||
|
get_object_by_name(name: string) -> object
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension asset_delivery {
|
||||||
|
version 0 0 0
|
||||||
|
interface {
|
||||||
|
events {
|
||||||
|
load_assets(assets: []Asset)
|
||||||
|
unload_assets(assets: []uuid)
|
||||||
|
}
|
||||||
|
|
||||||
|
methods {
|
||||||
|
fetchById(id: uuid) -> Asset
|
||||||
|
fetchByName(name: string) -> Asset
|
||||||
|
fetchByIds(ids: []uuid) -> []Asset
|
||||||
|
fetchByNames(names: []string) -> []Asset
|
||||||
|
getId(name: string) -> uuid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
types {
|
||||||
|
struct Asset {
|
||||||
|
id: uuid
|
||||||
|
name: string
|
||||||
|
data: []u8
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension world {
|
||||||
|
version 0 0 0
|
||||||
|
|
||||||
|
interface {
|
||||||
|
events {
|
||||||
|
add_entitys(entities: []EntityInfo)
|
||||||
|
update_entitys(entities: []EntityInfo)
|
||||||
|
remove_entitys(entities: []uuid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Entity {
|
||||||
|
methods {
|
||||||
|
interact()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
types {
|
||||||
|
struct EntityInfo {
|
||||||
|
assetId: uuid
|
||||||
|
entity: Entity
|
||||||
|
transformation: matrix4x4
|
||||||
|
flags: EntityFlags
|
||||||
|
}
|
||||||
|
|
||||||
|
enum EntityFlags(vu128) {
|
||||||
|
None = 0
|
||||||
|
Interactable = 1
|
||||||
|
Collidable = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue