Example #1
0
        public IEnumerable <Mesh> GetAllMeshesWithTag(string tag)
        {
            GameEntity        gameEntity1 = this;
            List <GameEntity> children    = new List <GameEntity>();

            gameEntity1.GetChildrenRecursive(ref children);
            children.Add(gameEntity1);
            foreach (GameEntity gameEntity2 in children)
            {
                GameEntity entity = gameEntity2;
                for (int i = 0; i < entity.MultiMeshComponentCount; ++i)
                {
                    MetaMesh multiMesh = entity.GetMetaMesh(i);
                    for (int j = 0; j < multiMesh.MeshCount; ++j)
                    {
                        Mesh meshAtIndex = multiMesh.GetMeshAtIndex(j);
                        if (meshAtIndex.HasTag(tag))
                        {
                            yield return(meshAtIndex);
                        }
                    }
                    multiMesh = (MetaMesh)null;
                }
                entity = (GameEntity)null;
            }
        }