プロジェクト中の全部のタイルを拾う

Morphicのコードでは、ScriptEditorMorph (Morph)>>allMorphs で全部のタイルをなめています。これに相当する機能をCTilePlayerに追加します。

childTilesDo: aBlock
	self childTiles do: [:t | t childTilesDo: aBlock].
	aBlock value: self

allTiles
	| all |
	all _ OrderedCollection new: 100.
	self childTilesDo: [:c | all add: c].
	^all

テストとして、EToysWorldのインスペクタで実行しプロジェクト内の全タイルを集めてみる。

| t |
t := OrderedCollection new.
self project scriptManager allUniClassInstances 
  do: [:e | e scriptors 
    do: [:s | t addAll: (s allTiles)]].
t inspect.