Exemple #1
0
        public void SetPlayerFlagState(EvtHandlerArgs args)
        {
            var param = args as PlayerStateFlagArgs;

            if (param.CtrlState)
            {
                switch (param.StateFlagType)
                {
                case (int)PlayerStateFlagType.Selecting:
                    TipText.ExCompShow().Content = "缺一门 才能胡!";
                    ShowDqBtns(param.SecletColor);
                    break;

                case (int)PlayerStateFlagType.SelectCard:
                {
                    ChangeTitle.gameObject.SetActive(true);
                    var text = ChangeTitle.transform.FindChild("title").GetComponent <Text>();
                    text.text = "选择以下3张{0}手牌!".ExFormat("<color=#FFE200FF>同花色</color>");
                }
                break;
                }
            }
            else
            {
                ChangeTitle.gameObject.SetActive(false);
                HideDqBtns();
                TipText.ExCompHide();
            }
        }
        private void SetPlayerFlagState(EvtHandlerArgs args)
        {
            var param = args as PlayerStateFlagArgs;

            if (param.CtrlState)
            {
                PlayerStateFlagType flag = (PlayerStateFlagType)param.StateFlagType;
                for (int i = 1; i < DataCenter.MaxPlayerCount; i++)
                {
                    switch (flag)
                    {
                    case PlayerStateFlagType.Selecting:
                    case PlayerStateFlagType.SelectCard:
                        PlayersOther.SetTitleFlag(i, (int)PlayerStateFlagType.Selecting);
                        break;

                    case PlayerStateFlagType.Other:
                        PlayersOther.SetTitleFlag(i, param.DiySprite);
                        break;
                    }
                }
            }
            else
            {
                PlayersOther.HideTitleAni();
            }
        }
 private void HideTitleMessage(EvtHandlerArgs args)
 {
     for (int i = 0; i < TitleStlyles.Length; i++)
     {
         TitleStlyles[i].gameObject.SetActive(false);
     }
 }
        /// <summary>
        /// 玩家准备
        /// </summary>
        private void OnPlayerReady(EvtHandlerArgs args)
        {
            var data = args as PlayerInfoArgs;

            if (null == data)
            {
                return;
            }
            PlayersOther.ReadyState(data.Chair, true);
        }
        private void OnShowXjfdListPanel(EvtHandlerArgs args)
        {
            XjfdListArgs      eventArgs = args as XjfdListArgs;
            PanelShowXjfdList panel     = GameCenter.Hud.GetPanel <PanelShowXjfdList>();

            if (null != panel)
            {
                panel.Open(eventArgs);
            }
        }
        /// <summary>
        /// 新玩家进入
        /// </summary>
        private void OnPlayerJoin(EvtHandlerArgs args)
        {
            var data = args as PlayerInfoArgs;

            if (null == data)
            {
                return;
            }
            SetPlayerInfo(data.Chair, DataCenter.Players[data.Chair]);
        }
 //小结算界面
 private void OnShowResult(EvtHandlerArgs args)
 {
     if (GameUtils.CheckStopTask())
     {
         return;
     }
     if (args != null)
     {
         GameCenter.Hud.GetPanel <PanelSingleResult>().Open(args as SingleResultArgs);
     }
 }
 /// <summary>
 /// 更新当前操作玩家
 /// </summary>
 private void UpdateCurrOpPlayer(EvtHandlerArgs args)
 {
     for (int i = 0; i < DataCenter.MaxPlayerCount; i++)
     {
         PlayerInfoItem item = this[i];
         if (null != item)
         {
             item.IsCurrOp = DataCenter.CurrOpChair == i;
         }
     }
 }
 //下注(加漂)
 private void OnScoreDouble(EvtHandlerArgs args)
 {
     if (args == null)
     {
         GameCenter.Hud.GetPanel <PanelScoreDouble>().Open();
     }
     else
     {
         GameCenter.Hud.GetPanel <PanelScoreDouble>().Open(args as ScoreDoubleArgs);
     }
 }
 //OperateMenu
 private void OnOperateMenu(EvtHandlerArgs args)
 {
     if (null == args)
     {
         GameCenter.Hud.GetPanel <PanelOpreateMenu>().Close();
     }
     else
     {
         GameCenter.Hud.GetPanel <PanelOpreateMenu>().Open(args as OpreateMenuArgs);
     }
 }
Exemple #11
0
        /// <summary>
        /// 玩家退出
        /// </summary>
        private void OnPlayerOut(EvtHandlerArgs args)
        {
            var data = args as PlayerInfoArgs;

            if (null == data)
            {
                return;
            }
            int chair = data.Chair;

            this[chair].Reset();
            PlayersOther.PlayerOut(chair);
        }
        //查询胡牌
        private void OnQueryHuCard(EvtHandlerArgs args)
        {
            var data  = args as QueryHuArgs;
            var panel = GameCenter.Hud.GetPanel <PanelQueryHuCard>();

            if (!data.PanelState)
            {
                panel.Close();
            }
            else
            {
                panel.Open(data);
            }
        }
Exemple #13
0
        public void ShowDingqueFlag(EvtHandlerArgs args)
        {
            var param = args as HuanAndDqArgs;

            if (param.Type == 0)
            {
                HideDingqueFlag();
                var colors = param.DingqueColors;
                MahjongUtility.PlayEnvironmentSound("feidingque");
                for (int i = 0; i < colors.Length; i++)
                {
                    int chair = MahjongUtility.GetChair(i);
                    SetPlayerDingqueFlag(chair, colors[i]);
                }
            }
        }
Exemple #14
0
 public void Show(EvtHandlerArgs args)
 {
     if (IsMoving)
     {
         return;
     }
     if (!IsHasRule)
     {
         string temp = GameCenter.DataCenter.Config.DefaultGameRule;
         Dictionary <string, string> rules = ParseRoomRule(temp);
         if (SetRoomInfo(rules))
         {
             IsHasRule = true;
         }
     }
     PlayShowAction();
 }
        //投票事件
        private void OnEventHandUp(EvtHandlerArgs args)
        {
            HandupEventArgs eventArgs = args as HandupEventArgs;
            PanelHandup     panel     = GameCenter.Hud.GetPanel <PanelHandup>();

            if (null != panel)
            {
                if (eventArgs.HandupType == DismissFeedBack.ApplyFor)
                {
                    panel.Open(eventArgs);
                }
                else
                {
                    panel.SetHandupState(eventArgs);
                }
            }
        }
        /// <summary>
        /// 选择菜单
        /// </summary>
        private void OnShowChooseOperate(EvtHandlerArgs args)
        {
            var param = args as ChooseCgArgs;

            if (null == param)
            {
                return;
            }
            switch (param.Type)
            {
            case ChooseCgArgs.ChooseType.ChooseTing: GameCenter.Hud.GetPanel <PanelChooseOperate>().OnChooseTingCard(param); break;

            case ChooseCgArgs.ChooseType.ChooseCg: GameCenter.Hud.GetPanel <PanelChooseOperate>().Open(param); break;
            }
            //关闭按钮菜单界面
            GameCenter.Hud.ClosePanel <PanelOpreateMenu>();
        }
Exemple #17
0
        public void AiAgencyCtrl(EvtHandlerArgs args)
        {
            var data = args as AiAgencyArgs;

            if (data.State)
            {
                mSwitchCombination.Open((int)GameSwitchType.AiAgency);
                //如果到自己打牌就出牌
                if (GameCenter.DataCenter.CurrOpChair == 0)
                {
                    GameCenter.Network.C2S.ThrowoutCard(GameCenter.DataCenter.GetInMahjong);
                }
            }
            else
            {
                mSwitchCombination.Close((int)GameSwitchType.AiAgency);
            }
        }
Exemple #18
0
        public void SetSingleHuFlag(EvtHandlerArgs args)
        {
            var param = args as HuanAndDqArgs;

            if (param.Type == 2)
            {
                int chair;
                var seats = param.HuSeats;
                for (int i = 0; i < seats.Count; i++)
                {
                    chair = MahjongUtility.GetChair(seats[i]);
                    mHuGroup[chair].gameObject.SetActive(true);
                    mHuGroup[chair].GetComponent <TweenPosition>().Do((cmp) =>
                    {
                        cmp.ResetToBeginning();
                        cmp.PlayForward();
                    });
                }
            }
        }
Exemple #19
0
        private void OnCreateNewGame(EvtHandlerArgs args)
        {
            var apiInfo = GetPlayersInfo();

            Facade.Instance <TwManager>().SendAction("mahjongwm.findUserRoom", apiInfo, data =>
            {
                if (data != null)
                {
                    RoomListController.Instance.JoinFindRoom(int.Parse(data.ToString()), App.GameKey);
                }
                else
                {
                    YxMessageBox.Show(new YxMessageBoxData()
                    {
                        Msg      = "是否使用上局游戏规则创建新房间?",
                        Listener = (box, btnName) =>
                        {
                            //返回游戏大厅
                            if (btnName == YxMessageBox.BtnRight)
                            {
                                LocalSavePlayersId();
                                //保存teaId值,用于再大厅创建茶馆Id
                                PlayerPrefs.SetString(Keys.TeaId, GameCenter.DataCenter.Room.TeaID);
                                App.QuitGameWithEvent((obj) =>
                                {
                                    YxWindowManager.OpenWindow("CreateRoomWindow");
                                });
                            }
                            //直接创建游戏房间
                            if (btnName == YxMessageBox.BtnLeft)
                            {
                                LocalSavePlayersId();
                                OnCreateNewGame();
                            }
                        },
                        IsTopShow = true,
                        BtnStyle  = YxMessageBox.LeftBtnStyle | YxMessageBox.RightBtnStyle
                    });
                }
            });
        }
Exemple #20
0
        /// <summary>
        /// 设置分数
        /// </summary>
        private void PlaySetScore(EvtHandlerArgs args)
        {
            mScoreArgs = args as SetScoreArgs;
            var type = (SetScoreType)mScoreArgs.Type;

            switch (type)
            {
            case SetScoreType.EndScore:
                mScoreArgs.ScoreDic.ExIterationAction((dic) =>
                {
                    this[dic.Key].SetGlod(dic.Value);
                });
                break;

            case SetScoreType.AddScoreAndEffect:
                if (null == mScoreEffectTask)
                {
                    mScoreEffectTask = ContinueTaskManager.NewTask().AppendFuncTask(() => DelaytimePlayEffect());
                }
                mScoreEffectTask.Start();
                break;
            }
        }
Exemple #21
0
 public void UpdateMahjongCount(EvtHandlerArgs args)
 {
     GameInfo.UpdateMahjongCount(null);
 }
Exemple #22
0
 private void OnSetBanker(EvtHandlerArgs args)
 {
     SetBanker(DataCenter.BankerChair);
 }
Exemple #23
0
 public void Dispatch(int key, EvtHandlerArgs args = null)
 {
     EventComponent.Dispatch(key, args);
 }
Exemple #24
0
        /// <summary>
        /// 显示听牌
        /// </summary>
        private void OnTing(EvtHandlerArgs args)
        {
            var param = args as OnTingArgs;

            this[param.TingChair].IsTing = true;
        }
Exemple #25
0
        /// <summary>
        /// 准备按钮控制
        /// </summary>
        public void ReadyBtnCtrl(EvtHandlerArgs args)
        {
            PanelTriggerArgs data = args as PanelTriggerArgs;

            BtnSetActive(PulldowmBtnType.Ready, data.ReadyState);
        }
Exemple #26
0
 public void AgencyAi(EvtHandlerArgs args)
 {
     BtnSetActive(PulldowmBtnType.AiAgencyCancel, (args as AiAgencyArgs).State);
 }
Exemple #27
0
        /// <summary>
        /// 查询胡牌按钮状态
        /// </summary>
        public void QueryBtnCtrl(EvtHandlerArgs args)
        {
            PanelTriggerArgs data = args as PanelTriggerArgs;

            SetQueryBtnState(data.QueryBtnState);
        }
Exemple #28
0
 public void PlaybackRestart(EvtHandlerArgs args)
 {
     OnReset();
 }
Exemple #29
0
 public void AiAgency(EvtHandlerArgs args)
 {
     CameraServered.SetActive((args as AiAgencyArgs).State);
 }
Exemple #30
0
 public void HuangzhuangTip(EvtHandlerArgs args)
 {
     //if (HuangZhuangCnt != null) HuangZhuangCnt.text = GameCenter.DataCenter.LeaveMahjongCnt.ToString();
     CheackHuangZhuangAndShow();
 }