예제 #1
0
    /// <summary>
    /// カードの再生成
    /// </summary>
    /// <param name="reset">
    /// 子要素の破棄
    /// </param>
    private void RemakeCards(bool reset = true)
    {
        //追加
        if (PhotonNetwork.player.ID != 1 && prevusenum != null)
        {
            if (usenum == prevusenum)
            {
                return;
            }
        }

        if (reset && useCards != null)
        {
            // 既存のカードを破棄
            foreach (var card in useCards)
            {
                Destroy(card.gameObject);
            }

            usenum.Initialize();//追加
        }

        // カードの再生成
        useCards = MakeCards(pairNum * 2);
        // [Master]ペアリストの生成
        var list  = generator.MakePairList(generator.maxDesign, useCards.Length);
        var array = new List <int>();

        for (int i = 0; i < useCards.Length; i++)
        {
            array.Add(generator.GetNonOverlappingValue(list));
        }

        //追加
        if (PhotonNetwork.isMasterClient)
        {
            usenum = array.ToArray();
        }


        prevusenum = usenum;

        // カードに番号を割り振る
        generator.AppendPairList(useCards, usenum);
        remainingCards = useCards.Length;

        // カード配置の生成と調整
        spacement.AdjustmentLayout(useCards);
        cardPositions = spacement.MakePositions(useCards);

        // ターンを変更
        turnFinish  = false;
        completeNum = 0;
    }