@@ -1777,7 +1777,11 @@ end
1777
1777
1778
1778
export type Id <T = unknown > = Entity <T >
1779
1779
1780
- type function _Pair (first , second )
1780
+ type function ecs_entity_t (entity )
1781
+ return entity :components ()[2 ]:readproperty (types .singleton ("__T" ))
1782
+ end
1783
+
1784
+ export type function Pair (first , second )
1781
1785
local thing = first :components ()[2 ]
1782
1786
1783
1787
if thing :readproperty (types .singleton ("__T" )):is ("nil" ) then
@@ -1787,8 +1791,6 @@ type function _Pair(first, second)
1787
1791
end
1788
1792
end
1789
1793
1790
- export type Pair <T , U > = _Pair <T , U >
1791
-
1792
1794
type Item <T ...> = (self : Query <T ...>) -> (Entity , T ...)
1793
1795
1794
1796
export type Entity <T = unknown > = number & { __T : T }
@@ -1856,42 +1858,14 @@ export type World = {
1856
1858
children : (self : World , id : Id ) -> () -> Entity ,
1857
1859
1858
1860
--- Searches the world for entities that match a given query
1859
- query : (<A >(self : World , Id <A >) -> Query <A >)
1860
- & (<A , B >(self : World , Id <A >, Id <B >) -> Query <A , B >)
1861
- & (<A , B , C >(self : World , Id <A >, Id <B >, Id <C >) -> Query <A , B , C >)
1862
- & (<A , B , C , D >(self : World , Id <A >, Id <B >, Id <C >, Id <D >) -> Query <A , B , C , D >)
1863
- & (<A , B , C , D , E >(self : World , Id <A >, Id <B >, Id <C >, Id <D >, Id <E >) -> Query <A , B , C , D , E >)
1864
- & (<A , B , C , D , E , F >(
1865
- self : World ,
1866
- Id <A >,
1867
- Id <B >,
1868
- Id <C >,
1869
- Id <D >,
1870
- Id <E >,
1871
- Id <F >
1872
- ) -> Query <A , B , C , D , E , F >)
1873
- & (<A , B , C , D , E , F , G >(
1874
- self : World ,
1875
- Id <A >,
1876
- Id <B >,
1877
- Id <C >,
1878
- Id <D >,
1879
- Id <E >,
1880
- Id <F >,
1881
- Id <G >
1882
- ) -> Query <A , B , C , D , E , F , G >)
1883
- & (<A , B , C , D , E , F , G , H >(
1884
- self : World ,
1885
- Id <A >,
1886
- Id <B >,
1887
- Id <C >,
1888
- Id <D >,
1889
- Id <E >,
1890
- Id <F >,
1891
- Id <G >,
1892
- Id <H >,
1893
- ...Id <any >
1894
- ) -> Query <A , B , C , D , E , F , G , H >),
1861
+ query : (<A >(World , A ) -> Query <ecs_entity_t <A >>)
1862
+ & (<A , B >(World , A , B ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >>)
1863
+ & (<A , B , C >(World , A , B , C ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >>)
1864
+ & (<A , B , C , D >(World , A , B , C , D ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >, ecs_entity_t <D >>)
1865
+ & (<A , B , C , D , E >(World , A , B , C , D , E ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >, ecs_entity_t <D >, ecs_entity_t <E >>)
1866
+ & (<A , B , C , D , E , F >(World , A , B , C , D , E , F ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >, ecs_entity_t <D >, ecs_entity_t <E >, ecs_entity_t <F >>)
1867
+ & (<A , B , C , D , E , F , G >(World , A , B , C , D , E , F , G ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >, ecs_entity_t <D >, ecs_entity_t <E >, ecs_entity_t <F >, ecs_entity_t <G >>)
1868
+ & (<A , B , C , D , E , F , G , H >(World , A , B , C , D , E , F , G , H ) -> Query <ecs_entity_t <A >, ecs_entity_t <B >, ecs_entity_t <C >, ecs_entity_t <D >, ecs_entity_t <E >, ecs_entity_t <F >, ecs_entity_t <G >, ecs_entity_t <H >>)
1895
1869
}
1896
1870
1897
1871
return {
0 commit comments