Example #1
0
    // Clears all spawned instances, but retains the renderData object
    void ClearSpawnedInstances()
    {
        if (layers == null)
        {
            return;
        }

        BuilderUtil.HideTileMapPrefabs(this);

        for (int layerIdx = 0; layerIdx < layers.Length; ++layerIdx)
        {
            Layer layer = layers[layerIdx];
            for (int chunkIdx = 0; chunkIdx < layer.spriteChannel.chunks.Length; ++chunkIdx)
            {
                var chunk = layer.spriteChannel.chunks[chunkIdx];

                if (chunk.gameObject == null)
                {
                    continue;
                }

                var transform             = chunk.gameObject.transform;
                List <Transform> children = new List <Transform>();
                for (int i = 0; i < transform.childCount; ++i)
                {
                    children.Add(transform.GetChild(i));
                }
                for (int i = 0; i < children.Count; ++i)
                {
                    tk2dUtil.DestroyImmediate(children[i].gameObject);
                }
            }
        }
    }
    public void BeginEditMode()
    {
        if (layers == null)
        {
            _inEditMode = true;
            return;
        }

        if (!_inEditMode)
        {
            _inEditMode = true;

            // Destroy all children
            // Only necessary when switching INTO edit mode
            BuilderUtil.HideTileMapPrefabs(this);
            SetPrefabsRootActive(false);
        }

        Build(BuildFlags.ForceBuild);
    }