예제 #1
0
    public void Init(CellType cellType)
    {
        ClearRenderer();

        if (cellType.IsContains(CellType.Type.Sand))
        {
            staticSprites.Add(sandBackground);
        }
        else if (cellType.IsContains(CellType.Type.Grass))
        {
            staticSprites.Add(grassBackground);
        }
        else if (cellType.IsContains(CellType.Type.Dirt))
        {
            staticSprites.Add(dirtBackground);
        }

        if (cellType.IsContains(CellType.Type.Stone))
        {
            staticSprites.Add(stone);
        }

        // We rotate all static layer above ground to be more random
        int rotator = 0;

        foreach (Sprite sprite in staticSprites)
        {
            CellSpriteRenderer renderer = Instantiate(rendererPrefab);
            renderer.transform.SetParent(transform, false);
            if (rotator++ > 0)
            {
                renderer.transform.Rotate(new Vector3(0, 0, Random.value * 360));
            }
            renderer.SetSprite(sprite, ++order);
            renderers.Add(renderer);
        }
    }