Example #1
0
        public void OnFanbao(ISFSObject data)
        {
            FanbaoData fanData = new FanbaoData();

            fanData.SetData(data);
            //设置宝牌
            var tempCard = Game.TableManager.GetParts <MahjongDisplayCard>(TablePartsType.DisplayCard).DisplayMahjong;
            //宝牌是否显示

            bool isShowCard = !DataCenter.ConfigData.AnBao && DataCenter.OneselfData.IsAuto;

            if (tempCard != null)
            {
                if (fanData.IsHuanbao)
                {
                    FanbaoAnimation(fanData);
                    var card = Game.TableManager.SetShowBao(fanData.Bao, isShowCard);
                    var obj  = GameCenter.Pools.GetPool <ObjectPoolComponent>(PoolUitlity.Po_EffectObject).Pop <EffectObject>(EffectObject.AssetsNamePrefix + PoolObjectType.huanbao, (go) =>
                    {
                        return(go.Type == PoolObjectType.huanbao);
                    });
                    if (null != obj)
                    {
                        obj.transform.position = card.transform.position;
                        obj.Execute();
                    }
                }
                else if (DataCenter.CurrOpSeat == DataCenter.OneselfData.Seat && !fanData.Filter)
                {
                    Game.TableManager.SetShowBao(fanData.Bao, isShowCard);
                }
            }
            else
            {
                FanbaoAnimation(fanData);
                //第一次翻宝
                Game.TableManager.SetShowBao(fanData.Bao, isShowCard);
            }
        }
Example #2
0
 private void FanbaoAnimation(FanbaoData data)
 {
     //延迟接收消息
     GameCenter.Network.SetDelayTime(1.5f);
     DataCenter.LeaveMahjongCnt--;
     Game.TableManager.StopTimer();
     System.Action action = () =>
     {
         //设置计时器
         Game.TableManager.StartTimer(Config.TimeOutcard);
         Game.MahjongGroups.OnFanbaoRmoveMahjong(data.BaoIndex);
         var cpgLogic = GameCenter.Network.GetGameResponseLogic <GameLogic_Cpg>();
         if (data.IsHuanbao && data.LastBao > 0 && !cpgLogic.IsGangBao)
         {
             //将旧的宝牌放在出牌的牌墙中
             var item = Game.MahjongGroups.MahjongThrow[DataCenter.CurrOpChair].GetInMahjong(data.LastBao);
             item.SetOtherSign(Anchor.TopRight, true);
             Game.TableManager.ShowOutcardFlag(item);
         }
     };
     //打骰子
     Game.TableManager.PlaySaiziAnimation((byte)data.Saizi, action);
 }