예제 #1
0
        public void Handle(SimpleProto data)
        {
            Contexts contexts = SingletonManager.Get <FreeUiManager>().Contexts1;

            if (data.Key == FreeMessageConstant.CommonRoundOverUI)
            {
                var ui = contexts.ui.uI;
                contexts.ui.uISession.UiState[UiNameConstant.CommonRoundOverModel] = data.Bs[0];
                ui.CurRoundCount = data.Ins[0];
                ui.ScoreByCampTypeDict[(int)Core.Enums.EUICampType.T]  = data.Ins[1];
                ui.ScoreByCampTypeDict[(int)Core.Enums.EUICampType.CT] = data.Ins[2];
            }

            if (data.Key == FreeMessageConstant.CountDownTipUI)
            {
                var ui = contexts.ui.uI;
                ui.CountdownTipDataList.Clear();
                BaseTipData cdTipData = new BaseTipData
                {
                    Title        = data.Ss[0],
                    DurationTime = data.Ins[0]
                };

                ui.CountdownTipDataList.Add(cdTipData);
                Logger.Info("Add CountDown: " + cdTipData);
                contexts.ui.uISession.UiState[UiNameConstant.CommonCountdownTipModel] = true;
            }

            if (data.Key == FreeMessageConstant.ResetBattleData)
            {
                contexts.player.flagSelfEntity.statisticsData.Battle.Reset();
                contexts.ui.uISession.UiState[UiNameConstant.CommonTechStatModel] = false;
            }

            if (data.Key == FreeMessageConstant.RevengeTagUI)
            {
                contexts.ui.uI.KillerId      = data.Ls[0];
                contexts.ui.uI.KillerChanged = true;
            }
        }
예제 #2
0
        public void Handle(SimpleProto data)
        {
            Contexts contexts = SingletonManager.Get <FreeUiManager>().Contexts1;

            if (data.Key == FreeMessageConstant.BlastScoreUI)
            {
                var ui = contexts.ui.uI;
                switch (data.Ks[0])
                {
                case -1:
                    ui.PlayerCapacity = data.Ins[0];
                    ui.ScoreForWin    = data.Ins[1];
                    ui.ScoreByCampTypeDict[(int)EUICampType.T]  = data.Ins[2];
                    ui.ScoreByCampTypeDict[(int)EUICampType.CT] = data.Ins[3];
                    ui.PlayerCountByCampTypeDict[(int)EUICampType.T].PlayerCount      = data.Ins[4];
                    ui.PlayerCountByCampTypeDict[(int)EUICampType.CT].PlayerCount     = data.Ins[5];
                    ui.PlayerCountByCampTypeDict[(int)EUICampType.T].DeadPlayerCount  = data.Ins[6];
                    ui.PlayerCountByCampTypeDict[(int)EUICampType.CT].DeadPlayerCount = data.Ins[7];
                    break;

                case -2:
                    ui.GameTime = data.Ins[0];
                    break;

                case 1:
                    ui.C4InstallState    = (EUIBombInstallState)data.Ins[0];
                    ui.C4InitialProgress = data.Fs.Count > 0 ? data.Fs[0] : 0;
                    ui.IsPause           = data.Ins[0] >= 1;
                    break;

                case 2:
                    ui.IsPause = data.Bs[0];
                    break;

                default:
                    break;
                }
            }

            if (data.Key == FreeMessageConstant.ChangeWeapon)
            {
                switch (data.Ins[0])
                {
                case 0:
                    contexts.player.flagSelfEntity.WeaponController().UnArmWeapon(false);
                    break;

                default:
                    contexts.player.flagSelfEntity.WeaponController().PureSwitchIn((EWeaponSlotType)data.Ins[0]);
                    break;
                }
            }

            if (data.Key == FreeMessageConstant.BombAreaMarkUI)
            {
                var blast = contexts.ui.blast;
                switch (data.Ks[0])
                {
                case 0:
                    blast.BlastAPosition = new MapFixedVector3(data.Fs[0], data.Fs[1] + 2.0f, data.Fs[2]);
                    break;

                case 1:
                    blast.BlastBPosition = new MapFixedVector3(data.Fs[0], data.Fs[1] + 2.0f, data.Fs[2]);
                    break;

                case 2:
                    blast.IsC4Droped = data.Bs[0];
                    if (data.Bs[0])
                    {
                        blast.C4DropPosition = new MapFixedVector3(data.Fs[0], data.Fs[1], data.Fs[2]);
                    }
                    break;

                case 3:
                    blast.C4SetStatus = data.Ins[0];
                    break;

                default:
                    break;
                }
            }

            if (data.Key == FreeMessageConstant.BombDropTipUI)
            {
                var msg = "";
                if (data.Bs[0])
                {
                    msg = data.Ss[0] + " 携带的C4掉落在了地上";
                }
                else
                {
                    msg = data.Ss[0] + " 拾取了C4";
                }
                BaseTipData tip = new BaseTipData
                {
                    Title        = msg,
                    DurationTime = 5000
                };
                contexts.ui.uISession.UiState[UiNameConstant.CommonSystemTipModel] = true;
                contexts.ui.uI.SystemTipDataQueue.Enqueue(tip);
            }
        }
예제 #3
0
        public void Handle(SimpleProto data)
        {
            Contexts contexts = SingletonManager.Get <FreeUiManager>().Contexts1;
            var      ui       = contexts.ui.uI;

            if (data.Key == FreeMessageConstant.CommonTipUI)
            {
                int type = data.Ks[0];

                BaseTipData tip = new BaseTipData
                {
                    Title        = data.Ss[0],
                    DurationTime = data.Ins[0]
                };

                if (type == 1)
                {
                    contexts.ui.uISession.UiState[UiNameConstant.CommonOperationTipModel] = true;
                    ui.OperationTipData = tip;
                }
                else if (type == 2)
                {
                    contexts.ui.uISession.UiState[UiNameConstant.CommonSystemTipModel] = true;
                    ui.SystemTipDataQueue.Enqueue(tip);
                }
            }

            if (data.Key == FreeMessageConstant.ClearCommonTipUI)
            {
                int type = data.Ks[0];
                if (type == 1)
                {
                    contexts.ui.uISession.UiState[UiNameConstant.CommonOperationTipModel] = false;
                }
                else if (type == 2)
                {
                    //contexts.ui.uISession.UiState[UiNameConstant.CommonSystemTipModel] = false;
                    ui.SystemTipDataQueue.Clear();
                }
            }

            if (data.Key == FreeMessageConstant.ChickenTip)
            {
                if (contexts.player.flagSelfEntity.gamePlay.TipHideStatus)
                {
                    return;
                }

                string[] tips   = StringExtension.Split(data.Ss[0], ",");
                string   tipStr = String.Empty;
                switch ("client/chickentip/" + tips[0])
                {
                case ScriptTerms.client_chickentip.word4:
                    tipStr = ScriptLocalization.client_chickentip.word4;
                    break;

                case ScriptTerms.client_chickentip.word5:
                    tipStr = ScriptLocalization.client_chickentip.word5;
                    break;

                case ScriptTerms.client_chickentip.word6:
                    tipStr  = ScriptLocalization.client_chickentip.word6;
                    tips[2] = SingletonManager.Get <WeaponConfigManagement>().FindConfigById(short.Parse(tips[2])).S_Name;
                    break;

                case ScriptTerms.client_chickentip.word13:
                    tipStr = ScriptLocalization.client_chickentip.word13;
                    break;

                case ScriptTerms.client_chickentip.word50:
                    tipStr = ScriptLocalization.client_chickentip.word50;
                    break;

                case ScriptTerms.client_chickentip.word51:
                    tipStr = ScriptLocalization.client_chickentip.word51;
                    break;

                case ScriptTerms.client_chickentip.word52:
                    tipStr = ScriptLocalization.client_chickentip.word52;
                    break;

                case ScriptTerms.client_chickentip.word53:
                    tipStr = ScriptLocalization.client_chickentip.word53;
                    break;

                case ScriptTerms.client_chickentip.word54:
                    tipStr = ScriptLocalization.client_chickentip.word54;
                    break;

                case ScriptTerms.client_chickentip.word55:
                    tipStr = ScriptLocalization.client_chickentip.word55;
                    break;

                case ScriptTerms.client_chickentip.word56:
                    tipStr = ScriptLocalization.client_chickentip.word56;
                    break;

                case ScriptTerms.client_chickentip.word57:
                    tipStr = ScriptLocalization.client_chickentip.word57;
                    break;

                case ScriptTerms.client_chickentip.word58:
                    tipStr = ScriptLocalization.client_chickentip.word58;
                    break;

                case ScriptTerms.client_chickentip.word59:
                    tipStr = ScriptLocalization.client_chickentip.word59;
                    break;

                case ScriptTerms.client_chickentip.word60:
                    tipStr = ScriptLocalization.client_chickentip.word60;
                    break;

                case ScriptTerms.client_chickentip.word61:
                    tipStr = ScriptLocalization.client_chickentip.word61;
                    break;

                case ScriptTerms.client_chickentip.word62:
                    tipStr = ScriptLocalization.client_chickentip.word62;
                    break;

                case ScriptTerms.client_chickentip.word63:
                    tipStr = ScriptLocalization.client_chickentip.word63;
                    break;

                case ScriptTerms.client_chickentip.word64:
                    tipStr = ScriptLocalization.client_chickentip.word64;
                    break;

                case ScriptTerms.client_chickentip.word65:
                    tipStr = ScriptLocalization.client_chickentip.word65;
                    break;

                case ScriptTerms.client_chickentip.word66:
                    tipStr = ScriptLocalization.client_chickentip.word66;
                    break;

                case ScriptTerms.client_chickentip.word67:
                    tipStr = ScriptLocalization.client_chickentip.word67;
                    break;

                case ScriptTerms.client_chickentip.word68:
                    tipStr = ScriptLocalization.client_chickentip.word68;
                    break;

                case ScriptTerms.client_chickentip.word69:
                    tipStr = ScriptLocalization.client_chickentip.word69;
                    break;

                case ScriptTerms.client_chickentip.word70:
                    tipStr = ScriptLocalization.client_chickentip.word70;
                    break;

                case ScriptTerms.client_chickentip.word71:
                    tipStr = ScriptLocalization.client_chickentip.word71;
                    break;

                case ScriptTerms.client_chickentip.word72:
                    tipStr = ScriptLocalization.client_chickentip.word72;
                    break;

                case ScriptTerms.client_chickentip.word73:
                    tipStr = ScriptLocalization.client_chickentip.word73;
                    break;

                case ScriptTerms.client_chickentip.word74:
                    tipStr = ScriptLocalization.client_chickentip.word74;
                    break;

                case ScriptTerms.client_chickentip.word75:
                    tipStr = ScriptLocalization.client_chickentip.word75;
                    break;

                case ScriptTerms.client_chickentip.word76:
                    tipStr = ScriptLocalization.client_chickentip.word76;
                    break;

                case ScriptTerms.client_chickentip.word77:
                    tipStr = ScriptLocalization.client_chickentip.word77;
                    break;

                case ScriptTerms.client_chickentip.word78:
                    tipStr = ScriptLocalization.client_chickentip.word78;
                    break;

                case ScriptTerms.client_chickentip.word79:
                    tipStr = ScriptLocalization.client_chickentip.word79;
                    break;

                case ScriptTerms.client_chickentip.word80:
                    tipStr = ScriptLocalization.client_chickentip.word80;
                    break;

                default:
                    break;
                }

                int[] notError = new int[] { 4, 5, 6, 72, 75, 80 };
                if (!notError.ToList().Contains(int.Parse(tips[0].Substring(4))))
                {
                    contexts.player.flagSelfEntity.AudioController().PlaySimpleAudio((EAudioUniqueId)5024, false);
                }

                if (tips.Length > 1)
                {
                    tips = tips.SubList(1, tips.Length - 1).ToArray();
                }

                BaseTipData tip = new BaseTipData
                {
                    Title        = string.Format(tipStr, tips),
                    DurationTime = 5000
                };

                if (data.Bs.Count > 0 && data.Bs[0])
                {
                    contexts.ui.uISession.UiState[UiNameConstant.CommonSystemTipModel] = true;
                    ui.SystemTipDataQueue.Enqueue(tip);
                }
                else
                {
                    contexts.ui.uISession.UiState[UiNameConstant.CommonOperationTipModel] = true;
                    ui.OperationTipData = tip;
                }
            }
        }