コード例 #1
0
    public void PlayBlock(List <DominoBlockData> originList, int index)
    {
        DominoBlockData block = originList[index];

        MoveBlock(originList, block, playedBlocks);
        if (block.downValue == openLeftPosition)
        {
            block.upValue = openLeftPosition;
        }
        if (block.downValue == openRightPosition)
        {
            block.upValue = openRightPosition;
        }
        if (block.upValue == openLeftPosition)
        {
            block.downValue = openLeftPosition;
        }
        if (block.upValue == openRightPosition)
        {
            block.downValue = openRightPosition;
        }

        if (OnDeckChanged != null)
        {
            OnDeckChanged();
        }
    }
コード例 #2
0
 public void MoveBlock(List <DominoBlockData> originList, DominoBlockData block, List <DominoBlockData> targetList)
 {
     targetList.Add(block);
     originList.Remove(block);
     if (OnDeckChanged != null)
     {
         OnDeckChanged();
     }
 }
コード例 #3
0
 public bool Evaluate(DominoBlockData block)
 {
     if (block.downValue == openLeftPosition || block.upValue == openLeftPosition || block.downValue == openRightPosition || block.downValue == openRightPosition)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #4
0
    public void PlayFirstBlock(List <DominoBlockData> originList, int index)
    {
        DominoBlockData block = originList[index];

        MoveBlock(originList, block, playedBlocks);
        openLeftPosition  = playedBlocks[0].downValue;
        openRightPosition = playedBlocks[0].upValue;

        if (OnDeckChanged != null)
        {
            OnDeckChanged();
        }
    }
コード例 #5
0
    void Awake()
    {
        totalBlocks = 28;

        unusedBlocks = new List <DominoBlockData>();
        playedBlocks = new List <DominoBlockData>();
        playerHand   = new List <DominoBlockData>();
        opponentHand = new List <DominoBlockData>();



        for (int i = 0; i < totalBlocks; i++)
        {
            DominoBlockData dominoBlockData = new DominoBlockData();

            if (dominoSprites[i] != null)
            {
                string[] downup = dominoSprites[i].name.Split('-');

                dominoBlockData.downValue = int.Parse(downup[0]);
                dominoBlockData.upValue   = int.Parse(downup[1]);
                dominoBlockData.sprite    = dominoSprites[i];

                dominoBlockData.name = dominoSprites[i].name;

                dominoBlockData.totalValue = dominoBlockData.downValue + dominoBlockData.upValue;
                unusedBlocks.Add(dominoBlockData);
            }
            else
            {
                Debug.LogError("Sprites Missing");
            }
        }

        //StartingHand();
    }