Exemple #1
0
 /// <summary>
 /// 设置碰吃杠牌动作数据
 /// </summary>
 /// <param name="handStyle"></param>
 /// <param name="isMoveHand"></param>
 /// <param name="moveHandDist"></param>
 /// <param name="pcgPaiType"></param>
 /// <param name="mjfaceValues"></param>
 /// <param name="paiLayoutIdx"></param>
 /// <param name="targetSeatIdx"></param>
 /// <param name="targetMjIdx"></param>
 /// <param name="actionCombineNum"></param>
 /// <param name="opCmdNode"></param>
 public void SetPengChiGangPaiData(PlayerType handStyle, bool isMoveHand, float moveHandDist,
                                   PengChiGangPaiType pcgPaiType, MahjongFaceValue[] mjfaceValues, int paiLayoutIdx,
                                   int targetSeatIdx, Vector3Int targetMjIdx,
                                   EffectFengRainEtcType fengRainEtcEffect,
                                   ActionCombineNum actionCombineNum,
                                   LinkedListNode <MahjongMachineCmd> opCmdNode = null)
 {
     this.handStyle           = handStyle;
     pcgPaiIsMoveHand         = isMoveHand;
     pcgPaiMoveHandDist       = moveHandDist;
     this.pcgPaiType          = pcgPaiType;
     this.pcgPaiMjfaceValues  = mjfaceValues;
     this.pcgPaiLayoutIdx     = paiLayoutIdx;
     this.pcgPaiTargetSeatIdx = targetSeatIdx;
     this.pcgPaiTargetMjIdx   = targetMjIdx;
     this.fengRainEtcEffect   = fengRainEtcEffect;
     this.actionCombineNum    = actionCombineNum;
     this.opCmdNode           = opCmdNode;
 }
Exemple #2
0
        /// <summary>
        /// 碰吃杠牌
        /// </summary>
        /// <param name="seatIdx"></param>
        /// <param name="handStyle"></param>
        /// <param name="isMoveHand"></param>
        /// <param name="moveHandDist"></param>
        /// <param name="faceValues"></param>
        /// <param name="actionCombineNum"></param>
        public void PengChiGangPai(
            int seatIdx, PlayerType handStyle, bool isMoveHand, float moveHandDist,
            MahjongFaceValue[] faceValues, PengChiGangPaiType pcgType,
            int targetSeatIdx, Vector3Int targetMjIdx,
            EffectFengRainEtcType fengRainEtcEffect,
            ActionCombineNum actionCombineNum,
            LinkedListNode <MahjongMachineCmd> opCmdNode = null)
        {
            StopSelectPaiActionState(seatIdx);

            if (playerStateData[seatIdx].playerHandActionState != HandActionState.ACTION_END)
            {
                RemoveHandActionOpCmd(seatIdx, opCmdNode);
                return;
            }

            int idx = 0;

            if (pcgType == PengChiGangPaiType.PENG)
            {
                idx = Random.Range(0, 3);
            }
            else
            {
                idx = Random.Range(0, 4);
            }

            playerStateData[seatIdx].SetPengChiGangPaiData(
                handStyle,
                isMoveHand, moveHandDist,
                pcgType, faceValues, idx,
                targetSeatIdx, targetMjIdx,
                fengRainEtcEffect,
                actionCombineNum, opCmdNode);

            playerStateData[seatIdx].SetPlayerState(HandActionState.PENG_CHI_GANG_PAI_START, Time.time, -1);
        }