예제 #1
0
    private Sprite GetBlockSprite(Nine.Core.Block block)
    {
        switch (block.Type)
        {
        case Nine.Core.BlockType.Pink:
            return(block.CanSwap ? PinkBlockSprite : InactivePinkBlockSprite);

        case Nine.Core.BlockType.Green:
            return(block.CanSwap ? GreenBlockSprite : InactiveGreenBlockSprite);

        case Nine.Core.BlockType.Blue:
            return(block.CanSwap ? BlueBlockSprite : InactiveBlueBlockSprite);

        case Nine.Core.BlockType.Black:
            return(block.CanSwap ? BlackBlockSprite : InactiveBlackBlockSprite);

        case Nine.Core.BlockType.White:
            return(block.CanSwap ? WhiteBlockSprite : InactiveWhiteBlockSprite);

        case Nine.Core.BlockType.Garbage:
            return(GarbageBlockSprite);

        default:
            throw new Exception($"no sprite hooked up for specified block type: {block.Type.ToString()}");
        }
    }
예제 #2
0
    public ViewBlock CreateBlock(Nine.Core.Block block)
    {
        var blockSprite = GetBlockSprite(block);

        ViewBlock viewBlock = MonoBehaviour.Instantiate <ViewBlock>(BaseBlock);

        viewBlock.Block = block;
        viewBlock.gameObject.GetComponent <SpriteRenderer>().sprite = blockSprite;

        return(viewBlock);
    }