Esempio n. 1
0
        //pvp采取记录冲线前的数据点
        private void StartLoadInfo()
        {
            //记录开启后的位置点
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null)
            {
                int _horseCount = matchModule.ModelHorseViewSet.Count;
                if (_horseCount > 0)
                {
                    for (int index = 0; index < _horseCount; index++)
                    {
                        Match.ModelHorseView _singleHorseView = matchModule.ModelHorseViewSet[index];
                        if (_singleHorseView != null)
                        {
                            List <HorseCrossLineStatus> _list  = new List <HorseCrossLineStatus>();
                            Vector3              _tempPosition = _singleHorseView.obj.position;
                            Quaternion           _tempRotation = _singleHorseView.obj.rotation;
                            HorseCrossLineStatus _curStatus    = new HorseCrossLineStatus(_tempPosition, _tempRotation);
                            _list.Add(_curStatus);
                            m_raceHorseDic[_singleHorseView] = _list;
                        }
                    }
                }
            }

            //打开update开始每隔几帧记录所有马匹的信息
            _bIsSaveHorsesData = true;
        }
Esempio n. 2
0
        public void Init(Transform transRoot)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            myRunData    = battleModule.myRunData;
            Log.Info("myRunData " + (myRunData == null));

            CDTime                = ModelComTools.Config.GetBaseByID(99005125).param1 / 1000f;
            transform             = transRoot;
            image_DirCountDown    = transform.Find("DirObj/DirCountDown").GetComponent <Image>();
            button_ButtonDirBtn0  = transform.Find("DirObj/DirBtn0").GetComponent <Button>();
            button_ButtonDirBtn1  = transform.Find("DirObj/DirBtn1").GetComponent <Button>();
            button_ButtonDirBtn2  = transform.Find("DirObj/DirBtn2").GetComponent <Button>();
            button_ButtonDirBtn3  = transform.Find("DirObj/DirBtn3").GetComponent <Button>();
            go_OpObj              = transform.Find("m_DirKeyGroup/m_DirList/OpObj").gameObject;
            go_DirBtnItemTemplate = transform.Find("m_DirKeyGroup/DirBtnItemTemplate").gameObject;
            go_SaoGuangEft        = transform.Find("m_DirKeyGroup/SaoGuangEft").gameObject;
            go_SaoGuangEft.SetActive(false);

            button_ButtonDirBtn0.onClick.AddListener(delegate() { OnButtonDirBtnClick("0"); });
            button_ButtonDirBtn1.onClick.AddListener(delegate() { OnButtonDirBtnClick("1"); });
            button_ButtonDirBtn2.onClick.AddListener(delegate() { OnButtonDirBtnClick("2"); });
            button_ButtonDirBtn3.onClick.AddListener(delegate() { OnButtonDirBtnClick("3"); });

            InitSkillId();
            InitDirList();
            transform.gameObject.SetActive(false);
        }
Esempio n. 3
0
        private void SetAdmissItemUIInfo(int i, GameObject instanceAdmissionUI)
        {
            Text text_TextHorseNumber = instanceAdmissionUI.transform.Find("TextHorseNumber").GetComponent <Text>();
            Text text_TextHorseName   = instanceAdmissionUI.transform.Find("TextHorseName").GetComponent <Text>();
            Text text_TextHorsePower  = instanceAdmissionUI.transform.Find("TextHorsePower").GetComponent <Text>();

            text_TextHorseNumber.text = string.Format("{0}", (allHorseView[i].data.Id + 1) + "");
            text_TextHorseName.text   = allHorseView[i].data.horseName;
            Image image_ItemMatchBg = instanceAdmissionUI.transform.Find("SaiMaJianJieDiTu").GetComponent <Image>();

            //GameObjectTool.TextOverFlowLimitWidth(text_TextHorseName, allHorseView[i].data.horseName);
            //if (allHorseView[i].data.horseName.Contains("famousHorse__"))
            //{
            //    GameObjectTool.TextOverFlowLimitWidth(text_TextHorseName, allHorseView[i].data.horseName.Substring(13));
            //}
            text_TextHorsePower.text = allHorseView[i].data.fightValue + "";

            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule.isSelfPlayer(allHorseView[i].data.playerUid))
            {
                image_ItemMatchBg.sprite = GameObjectTool.LoadSprite("templateBg1");
                //text_TextHorseNumber.text = $"<color=#ffb400>{text_TextHorseNumber.text}</color>";
                //text_TextHorseName.text= $"<color=#ffb400>{text_TextHorseName.text}</color>";
            }
        }
Esempio n. 4
0
        public void Init(Transform transform)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            trans            = transform;
            uiData           = new UIBattleMainData();
            uiData.transform = trans;
            uiData.InitUI();
            uiData.button_Buttonok.onClick.RemoveAllListeners();
            uiData.button_Buttonok.onClick.AddListener(() => {
                uiData.go_m_yindao.SetActive(false);
                if (countDownBack != null)
                {
                    countDownBack();
                    countDownBack = null;
                }
            });
            uIMatchRankLogic = new UIMatchRankLogic();
            uIMatchRankLogic.Init(uiData);

            dirComponent = new UIMatchOpDirComponent();
            dirComponent.Init(uiData.go_m_FightButtonRoot.transform);

            opSkillComponent = new UIMatchOpSkillComponent();
            opSkillComponent.Init(uiData.go_m_FightSkillRoot.transform);

            uIMatchEnsureAndSpeedLogic = new UIMatchEnsureAndSpeedLogic();
            uIMatchEnsureAndSpeedLogic.Init(uiData);

            uIMatchCountDownLogic = new UIMatchCountDownLogic();
            uIMatchCountDownLogic.Init(uiData);

            uIMatchHorseHeadLogic = new UIMatchHorseHeadLogic();
            uIMatchHorseHeadLogic.Init(uiData);

            uIMatchSelfSkillLogic = new UIMatchSelfSkillLogic();
            uIMatchSelfSkillLogic.Init(uiData);

            uIMatchChatLogic = new UIMatchChatLogic();
            uIMatchChatLogic.Init(uiData);

            uIMatchPlayerBackComponent = new UIMatchPlayerBackComponent();
            uIMatchPlayerBackComponent.Init(uiData);

            isBeginCountTime = false;
            Game.EventSystem.RegistLocalLateUpdate(this, Game.Scene.GetComponent <GameRunRealCameraComponent>());

            GameTrackHPEffectComponent hpEffectComp = Game.Scene.GetComponent <GameTrackHPEffectComponent>();

            if (hpEffectComp == null || hpEffectComp.IsDisposed)
            {
                //do nothing
            }
            else
            {
                hpEffectComp.ApplyOutPutImage(uiData.RenderRealPathHPEffect);
            }
        }
Esempio n. 5
0
        private Color whiteColor = Color.white;                       //ffffffff

        public void Init(UIBattleMainData data)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            uiData       = data;
            gameRunRealCameraComponent = Game.Scene.GetComponent <GameRunRealCameraComponent>();

            myPlayerUID = battleModule.playerUID;
            horseList   = battleModule.matchInit.funcs.GetHorses();
        }
Esempio n. 6
0
        public void Init(UIBattleMainData data)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            uiData       = data;

            funcs     = battleModule.matchInit.funcs;
            horseList = funcs.GetHorses();
            uiData.button_MatchListOpen.onClick.AddListener(OnClickMatchListOpen);
        }
Esempio n. 7
0
        public void Run(bool isEnterCurse)
        {
            MatchModule           matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                uiComponent.UpdateOpDirInfo(isEnterCurse);
            }
        }
Esempio n. 8
0
        //暂停
        public static void OnPauseGame()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null)
            {
                matchModule.matchInit.allowUpdate = false;
            }
            Time.timeScale = 0;
        }
Esempio n. 9
0
        //恢复
        public static void OnRecoveryGame()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null)
            {
                matchModule.matchInit.allowUpdate = true;
            }
            Time.timeScale = 1;
        }
Esempio n. 10
0
        public void Run(SkillTriggerContent isRivals, int state)
        {
            MatchModule           matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                uiComponent.ChangeSkillState(isRivals, state);
            }
        }
Esempio n. 11
0
        public override void Run(string args)
        {
            MatchModule           matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                uiComponent.PassEnd();
            }
        }
Esempio n. 12
0
        //private Color redColor = Color.red;
        //private Color whiteColor = Color.white;
        //private Color customColor = new Color(0xa7, 0xff, 0x34);//<color=#a7ff34>

        public void Init(Transform transParent, UIMatchRankLogic uiParent)//只初始化一次UI数据
        {
            uIMatchRankLogic        = uiParent;
            battleModule            = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            matchItemData           = new MatchItemData();
            matchItemData.transform = transParent;
            matchItemData.InitUI();

            matchItemData.button_templateMatchItem.onClick.AddListener(OnItemClick);
        }
Esempio n. 13
0
        //private Vector3 vSkillInfoRootInitPos = new Vector3();
        //private Vector3 vSkillInfoRootMovePos = new Vector3();
        //private Tweener tweener;

        public void Init(UIBattleMainData data)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            uiData       = data;

            //vSkillInfoRootInitPos = uiData.go_m_SkillInfoRoot.transform.localPosition;
            //float endMoveY = 16 + uiData.go_m_SkillInfoRoot.GetComponent<RectTransform>().sizeDelta.y;
            //vSkillInfoRootMovePos = vSkillInfoRootInitPos - new Vector3(0, endMoveY, 0);
            //uiData.text_SpeedValue_43.enabled = false;
            //uiData.button_ChatOpenBtn.onClick.AddListener(OnClickChatOpen);
        }
Esempio n. 14
0
        private System.Random randomBySeed;     //随机数

        public void Init(Transform transParent) //只初始化一次UI数据
        {
            battleModule   = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            trans          = transParent;
            recttrans      = trans.gameObject.GetComponent <RectTransform>();
            funcs          = battleModule.matchInit.funcs;
            endPos         = funcs.GetEnd();
            randomBySeed   = funcs.GetRandomBySeed();
            go_RankIconMy  = transParent.Find("RankIconMy").gameObject;
            image_RankIcon = transParent.Find("RankIcon").GetComponent <Image>();
        }
Esempio n. 15
0
        public void Run(int horseId)
        {
            MatchModule           matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                var    tips      = GameObjectTool.GetLanguage(50138133);
                string skillInfo = string.Format(tips, horseId);//$"<color=#24f50a>{horseId}号赛马</color>:开始冲刺";
                uiComponent.AddSkillInfo(skillInfo);
            }
        }
Esempio n. 16
0
 public override void Run(string parm)
 {
     if (int.TryParse(parm, out int cameraHorseID))
     {
         MatchModule                matchModule   = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
         ModelHorseView             findHorseView = matchModule.ModelHorseViewSet.Find(x => x.data.Id == cameraHorseID); //gameRunMatchComponent.GetHorseView(cameraHorseID);
         GameRunRealCameraComponent gameRunRealCameraComponent = Game.Scene.GetComponent <GameRunRealCameraComponent>();
         if (gameRunRealCameraComponent != null)
         {
             gameRunRealCameraComponent.currHorseView = findHorseView;
         }
     }
 }
Esempio n. 17
0
        public void Init(UIBattleMainData data)
        {
            matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            funcs       = matchModule.matchInit.funcs;
            myRunData   = matchModule.myRunData;
            uiData      = data;

            horseList      = funcs.GetHorses();
            preEnsureValue = 0;
            uiData.slider_SliderEnsure.value = 1f;
            diWidth  = uiData.recttrans_DyRank.rect.width;
            diHeight = uiData.recttrans_DyRank.rect.height;
            ShowDyRankList();
        }
Esempio n. 18
0
 public void DoNewUpdate()
 {
     if (m_bIsStartLastPlayerFocus)
     {
         MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
         if (matchModule != null && matchModule.matchInit != null && !matchModule.matchInit.isGameEnd)
         {
             int            _allPlayersCount = matchModule.matchInit.funcs.GetHorses().Count;
             int            _lastPlayerID    = matchModule.matchInit.funcs.GetCurrRanks()[_allPlayersCount - 1];
             ModelHorseView _lastHorseView   = matchModule.HorseRunDataID2ModelHorseViewSet[_lastPlayerID];
             Transform      _paramLast       = _lastHorseView.GetCloseUpCameraRelativeParam();
             FeatureCameraTrans.position = _paramLast.position;// + (FeatureCameraTrans.forward * -1) * 5 * tt / during;
             FeatureCameraTrans.rotation = _paramLast.rotation;
         }
     }
 }
Esempio n. 19
0
        private void ReadyShowGameReward()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null && matchModule.matchInfo != null)
            {
                //对抗赛的UI显示不同
                if (matchModule.matchInfo.type == 1401)
                {
                    Game.EventSystem.Run(EventIdType.ReadyShowCombatGameReward);
                }
                else
                {
                    Game.EventSystem.Run(EventIdType.ReadyShowGameReward);
                }
            }
        }
Esempio n. 20
0
        private int maxMultiple = 1;  //快进最大倍数

        public void Init(UIBattleMainData data)
        {
            matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            uiData      = data;

            funcs = matchModule.matchInit.funcs;

            maxMultiple             = ModelComTools.Config.GetBaseByID(99005128).param1; //快进最大倍数
            uiData.text_AddNum.text = "X1";
            uiData.button_RecoveryBtn.gameObject.SetActive(false);
            uiData.button_PauseBtn.gameObject.SetActive(true);

            uiData.button_RecoveryBtn.onClick.AddListener(OnClickRecoveryBtn);
            uiData.button_PauseBtn.onClick.AddListener(OnClickPauseBtn);
            uiData.button_FastForward.onClick.AddListener(OnClickFastForward);
            uiData.button_CloseBtn.onClick.AddListener(OnClickCloseBtn);
        }
Esempio n. 21
0
        //jingchunlin 关闭子弹时间
        public void StopBulletTime()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null && matchModule.matchInit != null && matchModule.matchInit.funcs != null)
            {
                bool _bIsUsingFrameSync = matchModule.matchInit.funcs.UsingFrameSync;
                if (!_bIsUsingFrameSync)//pve
                {
                    m_bIsPrepareStopGame = true;
                }
                else
                {
                    m_bIsPrepareStopPVPGame = true;
                }
            }
        }
Esempio n. 22
0
        //PVE:开启子弹时间的通知
        //PVP:开启记录路径信息的通知
        public void StartBulletTime()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null && matchModule.matchInit != null && matchModule.matchInit.funcs != null)
            {
                bool _bIsUsingFrameSync = matchModule.matchInit.funcs.UsingFrameSync;
                //pve采取降低帧数,做到人物和时间都会同步降低
                if (!_bIsUsingFrameSync)
                {
                    Time.timeScale = 0.3f;
                }
                else
                {
                    //pvp采取记录冲线前的数据点
                    this.StartLoadInfo();
                }
            }
        }
Esempio n. 23
0
        public void Run(int horseId, bool IsBursting)
        {
            MatchModule           matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                string skillInfo = "";
                var    start     = GameObjectTool.GetLanguage(50138133);
                var    stop      = GameObjectTool.GetLanguage(50139205);
                if (IsBursting)
                {
                    skillInfo = string.Format(start, horseId);// $"<color=#24f50a>{horseId}号赛马</color>:开始加速";
                }
                else
                {
                    skillInfo = string.Format(stop, horseId);//$"<color=#24f50a>{horseId}号赛马</color>:停止加速";
                }
                uiComponent.AddSkillInfo(skillInfo);
            }
        }
Esempio n. 24
0
        //真正的开始回放
        private void ReviewCrossLine()
        {
            if (UtilsModuleManager.GetModule(ModuleType.MatchModule) is MatchModule matchModule &&
                matchModule.matchInit != null &&
                matchModule.matchInit.funcs != null &&
                matchModule.matchInit.funcs.NotifyOpenEndCamera != null &&
                m_raceHorseDic != null &&
                m_raceHorseDic.Count > 0)
            {
                //先切回看向终点线的相机
                matchModule.matchInit.funcs.NotifyOpenEndCamera.Invoke();

                //将需要回放的所有马匹放置于第一次记录的位置
                foreach (var item in m_raceHorseDic)
                {
                    Match.ModelHorseView        _singleHorseView          = item.Key;
                    List <HorseCrossLineStatus> _horseCrossLineStatusList = item.Value;

                    if (_singleHorseView != null && _horseCrossLineStatusList != null && _horseCrossLineStatusList.Count > 0)
                    {
                        HorseCrossLineStatus _firstPoint = _horseCrossLineStatusList[0];
                        if (_firstPoint != null)
                        {
                            Vector3    _targetVec3     = _firstPoint.HorseCrossLineTempTarget;
                            Quaternion _targetRotation = _firstPoint.HorseCrossLineTempRotation;

                            //屏蔽掉正常的马的坐标运算
                            _singleHorseView.PrepareReplayCrossLine();

                            _singleHorseView.obj.position = _targetVec3;
                            _singleHorseView.obj.rotation = _targetRotation;
                            item.Value.RemoveAt(0);
                        }
                    }
                }

                //正式开始回放
                this.MoveFromCurPositionToTargetPos();
            }
        }
Esempio n. 25
0
        //展示冠军结束
        public void DisplayChampionFinished()
        {
            MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;

            if (matchModule != null && matchModule.matchInit != null && matchModule.matchInit.funcs != null)
            {
                bool _bIsUsingFrameSync = matchModule.matchInit.funcs.UsingFrameSync;
                if (!_bIsUsingFrameSync)
                {
                    //展示高空镜头
                    Game.EventSystem.Run(EventIdType.QuestFeatCameraOutputDestory);

                    //改为等待自己冲线
                    if (matchModule.myRunData.IsPassEnd)
                    {
                        this.ConnectServerToFinishBattle();
                    }
                    else
                    {
                        m_bWaitBattleFinished = true;
                    }
                }
                else
                {
                    //都到了,回放,没到的话等全到了再回放
                    if (matchModule.matchInit.isGameEnd)
                    {
                        this.PrepareReplayCrossLineView();
                    }
                    else
                    {
                        //展示高空镜头
                        Game.EventSystem.Run(EventIdType.QuestFeatCameraOutputDestory);

                        m_bWaitBattleFinished = true;
                    }
                }
            }
        }
Esempio n. 26
0
        public void Init(UIBattleMainData data)
        {
            matchModule  = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            funcs        = matchModule.matchInit.funcs;
            myRunData    = matchModule.myRunData;
            uiData       = data;

            timeCountDown = ComponentFactory.Create <TimeCountDownComponent>();
            endPos        = funcs.GetEnd();
            SetMyPosTo2D();

            if (battleModule.IsPlayback)
            {
                uiData.recttrans_m_GroundState.localPosition -= new Vector3(52, 0, 0);
            }
            //preEnsureValue = 0;
            //preSpeedValue = 0;

            //uiData.slider_m_SpeedProgress.value = 1f;
            //uiData.slider_SliderEnsure.value = 1f;
            uiData.toggle_ToggleName.onValueChanged.AddListener(OnToggleSwitchHeadClick);
        }
Esempio n. 27
0
        public void InitUI(Transform transRoot)
        {
            battleModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            myRunData    = battleModule.myRunData;

            transform         = transRoot;
            image_EffectSkill = transform.Find("EffectSkill").GetComponent <Image>();
            image_BtnSkill    = transform.Find("BtnSkill").GetComponent <Image>();
            button_BtnSkill   = transform.Find("BtnSkill").GetComponent <Button>();
            image_FillSkill   = transform.Find("FillSkill").GetComponent <Image>();
            image_ProSkill    = transform.Find("ProSkill").GetComponent <Image>();
            text_CDSkill      = transform.Find("CDSkill").GetComponent <Text>();

            button_BtnSkill.onClick.Add(OnClickSkill);
            image_FillSkill.gameObject.SetActive(false);
            image_FillSkill.fillAmount = 1;
            image_ProSkill.gameObject.SetActive(false);
            image_ProSkill.fillAmount = 1;
            image_EffectSkill.gameObject.SetActive(true);

            text_CDSkill.gameObject.SetActive(false);
            beginCD = false;
        }
Esempio n. 28
0
        public void Init(Transform transRoot, UIMatchSelfSkillLogic uiParent, UIBattleMainData data)
        {
            battleModule          = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            myRunData             = battleModule.myRunData;
            endPos                = battleModule.matchInit.funcs.GetEnd();
            uIMatchSelfSkillLogic = uiParent;
            uiData                = data;

            isInited       = false;
            transform      = transRoot;
            image_SkillBtn = transform.GetComponent <ButtonLongPress>();
            if (image_SkillBtn == null)
            {
                image_SkillBtn = transform.gameObject.AddComponent <ButtonLongPress>();
            }
            image_Background  = transform.Find("Background").GetComponent <Image>();
            image_Fill        = transform.Find("Fill").GetComponent <Image>();
            image_SkillIcon   = transform.Find("SkillIcon").GetComponent <Image>();
            image_SkillIconZZ = transform.Find("SkillIconZZ").GetComponent <Image>();
            text_SkillCD      = transform.Find("SkillCD").GetComponent <Text>();
            currTime          = 0f;

            AddEvent();
        }
Esempio n. 29
0
        public void Run(int horseId, int skillId, bool isRemove)
        {
            //GameRunMatchComponent gameRunMatchComponent = Game.Scene.GetComponent<GameRunMatchComponent>();
            //if (gameRunMatchComponent == null || gameRunMatchComponent.IsDisposed)
            //    return;

            MatchModule    matchModule   = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
            ModelHorseView findHorseView = matchModule.ModelHorseViewSet.Find(x => x.data.Id == horseId);

            //HorseView findHorseView = gameRunMatchComponent.GetHorseView(horseId);
            if (findHorseView == null)
            {
                Log.Error("没有这个马匹:" + horseId);
                return;
            }
            HorseSkillDefine horseSkillDefine = ModelComTools.Config.GetHorseSkillByID(skillId);

            if (horseSkillDefine == null)
            {
                Log.Error("没有这个技能:" + skillId);
                return;
            }
            List <int> skills = new List <int> {
                50080040, 50080041, 50080042, 50080043, 50080044, 50080045, 50080046, 50080047, 50080048, 50080049, 50080050, 50080051, 50080052, 50080053, 50080054, 50080055, 50080056, 50080057, 50080058, 50080059, 50080060, 50080061, 50080062, 50080063, 50080064, 50080065, 50080066, 50080067, 50080068, 50080069, 50080070
            };

            if (skills.Contains(horseSkillDefine.Name))
            {
                return;
            }
            string skillName = GameObjectTool.GetLanguage(horseSkillDefine.Name);
            string skillDesc = GameObjectTool.GetLanguage(horseSkillDefine.Describe);
            UIBattleMainComponent uiComponent = matchModule.uIBattleMainComponent;

            if (uiComponent != null)
            {
                var    tips      = GameObjectTool.GetLanguage(50138126);        //触发
                var    tips1     = GameObjectTool.GetLanguage(50138127);        //结束
                string skillInfo = string.Format(tips, horseId + 1, skillName); // $"<color=#24f50a>{horseId + 1}号赛马</color>:触发{skillName}技能";//,{skillDesc}";
                if (isRemove)
                {
                    skillInfo = string.Format(tips1, horseId + 1, skillName);//$"<color=#24f50a>{horseId + 1}号赛马</color>:技能{skillName}结束";
                }
                else
                {
                    if (horseSkillDefine.ExistTime > 0)
                    {
                        TimeCountDownComponent TimeCountDownComponentSkill = ComponentFactory.Create <TimeCountDownComponent>();
                        TimeCountDownComponentSkill.Init(horseSkillDefine.ExistTime, null, string.Empty, () =>
                        {
                            skillInfo = string.Format(tips1, horseId + 1, skillName);//$"<color=#24f50a>{horseId + 1}号赛马</color>:技能{skillName}结束";
                            uiComponent.AddSkillInfo(skillInfo);
                            TimeCountDownComponentSkill.Dispose();
                        });
                    }
                }
                uiComponent.AddSkillInfo(skillInfo);

                if (findHorseView.data.playerUid == matchModule.playerUID)
                {
                    uiComponent.SetSelfSkill(skillName, isRemove, skillId, horseSkillDefine.ExistTime);
                }
            }
        }
Esempio n. 30
0
        public void Update()
        {
            //PVE比赛结束,等待收到PVE结算奖励
            if (m_bIsPVEWaitBattleSettleReward)
            {
                MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
                if (matchModule != null)
                {
                    if (matchModule.IsReceiveRoomSettle)
                    {
                        matchModule.IsReceiveRoomSettle = false;
                        m_bIsPVEWaitBattleSettleReward  = false;

                        this.ReadyShowGameReward();
                    }
                }
            }

            //PVP比赛结束,并且收到PVP比赛的奖励通知
            if (m_bIsPVPReviewFinished)
            {
                MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
                if (matchModule != null)
                {
                    if (matchModule.IsReceiveRoomSettle)
                    {
                        matchModule.IsReceiveRoomSettle = false;
                        m_bIsPVPReviewFinished          = false;

                        this.ReadyShowGameReward();
                    }
                }
            }

            //pvp时存储所有马匹的位置和朝向信息
            if (_bIsSaveHorsesData)
            {
                if (_curPerTime >= SAVE_PER_TIME)
                {
                    _curPerTime = 0;

                    MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
                    if (matchModule != null && matchModule.matchInit != null)
                    {
                        if (matchModule != null && matchModule.ModelHorseViewSet != null)
                        {
                            int _horseCount = matchModule.ModelHorseViewSet.Count;
                            if (_horseCount > 0)
                            {
                                for (int index = 0; index < _horseCount; index++)
                                {
                                    Match.ModelHorseView _singleHorseView = matchModule.ModelHorseViewSet[index];
                                    if (_singleHorseView != null && _singleHorseView.data != null)
                                    {
                                        //速度大于0就一直记录
                                        if (_singleHorseView.data.speedForward > 0)
                                        {
                                            List <HorseCrossLineStatus> _list = m_raceHorseDic[_singleHorseView];
                                            if (_list != null && _list.Count > 0)
                                            {
                                                Vector3              _tempPosition = _singleHorseView.obj.position;
                                                Quaternion           _tempRotation = _singleHorseView.obj.rotation;
                                                HorseCrossLineStatus _curStatus    = new HorseCrossLineStatus(_tempPosition, _tempRotation);
                                                _list.Add(_curStatus);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    ++_curPerTime;
                }
            }

            //PVP时候给一段时间缓冲,延长记录的信息
            if (m_bIsPrepareReview)
            {
                if (m_reviewCalTime >= PREPARE_REVIEW_CAL_TIME)
                {
                    m_reviewCalTime    = 0;
                    _bIsSaveHorsesData = false;

                    //开始真正的回放
                    this.ReviewCrossLine();
                }
                else
                {
                    ++m_reviewCalTime;
                }
            }

            //pve的慢镜头时间统计
            if (m_bIsPrepareStopGame)
            {
                if (m_startCalCrossLineTime >= CROSS_LINE_CAL_TIME)
                {
                    m_bIsPrepareStopGame    = false;
                    m_startCalCrossLineTime = 0;
                    Time.timeScale          = 1.0f;
                    //在子弹时间过后将摄像机视角切到结算流程
                    Game.EventSystem.Run(EventIdType.ChangeCameraAfterBulletTimeFinish);
                }
                else
                {
                    m_startCalCrossLineTime++;
                }
            }

            //pvp的回放时间统计
            if (m_bIsPrepareStopPVPGame)
            {
                if (m_startCalPVPCrossLineTime >= PVP_CROSS_LINE_CAL_TIME)
                {
                    m_bIsPrepareStopPVPGame    = false;
                    m_startCalPVPCrossLineTime = 0;
                    //在子弹时间过后将摄像机视角切到结算流程
                    Game.EventSystem.Run(EventIdType.ChangeCameraAfterBulletTimeFinish);
                }
                else
                {
                    m_startCalPVPCrossLineTime++;
                }
            }

            //等待所有人冲线
            if (m_bWaitBattleFinished)
            {
                //等待比赛结束
                MatchModule matchModule = UtilsModuleManager.GetModule(ModuleType.MatchModule) as MatchModule;
                if (matchModule != null && matchModule.matchInit != null && matchModule.matchInit.funcs != null)
                {
                    bool _bIsUsingFrameSync = matchModule.matchInit.funcs.UsingFrameSync;
                    if (!_bIsUsingFrameSync)
                    {
                        if (matchModule.myRunData.IsPassEnd)
                        {
                            m_bWaitBattleFinished = false;
                            this.ConnectServerToFinishBattle();
                        }
                    }
                    else
                    {
                        if (matchModule.matchInit.isGameEnd)
                        {
                            m_bWaitBattleFinished = false;
                            this.PrepareReplayCrossLineView();
                        }
                    }
                }
            }
        }