示例#1
0
        private static void CreateNotifyEffect(TeamSignalType signalType, Position pos)
        {
            string signalPerform = TeamSignalManager.GetSignalPerform(signalType);

            if (signalType == TeamSignalType.Fire || signalType == TeamSignalType.Defense)
            {
                return;
            }
            if (string.IsNullOrEmpty(signalPerform))
            {
                return;
            }
            SysSkillPerformVo dataById = BaseDataMgr.instance.GetDataById <SysSkillPerformVo>(signalPerform);

            if (dataById == null)
            {
                ClientLogger.Error("cannot found SysSkillPerformVo #" + signalPerform);
            }
            else
            {
                ResourceHandle resourceHandle = MapManager.Instance.SpawnResourceHandle(dataById.effect_id, new Vector3(pos.x, pos.y, pos.z), Quaternion.identity, 0);
                if (resourceHandle != null)
                {
                    resourceHandle.DelayRelease(1.8f);
                }
                else
                {
                    ClientLogger.Error("SpawnEffect failed #" + dataById.effect_id);
                }
            }
        }
示例#2
0
        public static void Process(NotifyTeamPos info)
        {
            int            senderId   = info.senderId;
            TeamSignalType signalType = (TeamSignalType)info.signalType;
            Position       pos        = info.pos;

            if (pos == null)
            {
                return;
            }
            if (!Singleton <PvpManager> .Instance.IsOurPlayer(senderId))
            {
                return;
            }
            TeamSignalManager.TryUpdateCd(senderId, signalType);
            TeamSignalManager.CreateNotifyEffect(signalType, pos);
            switch (signalType)
            {
            case TeamSignalType.Danger:
                AudioMgr.Play("Play_SignalRisk", null, false, false);
                AudioMgr.Play("Play_CN_Risk", null, false, false);
                break;

            case TeamSignalType.Miss:
                AudioMgr.Play("Play_SignalMiss", null, false, false);
                break;

            case TeamSignalType.Converge:
                AudioMgr.Play("Play_SignalHelp", null, false, false);
                AudioMgr.Play("Play_CN_Help", null, false, false);
                break;

            case TeamSignalType.Fire:
                AudioMgr.Play("Play_SignalAttack", null, false, false);
                AudioMgr.Play("Play_CN_Gather", null, false, false);
                break;

            case TeamSignalType.Defense:
                AudioMgr.Play("Play_SignalDefense", null, false, false);
                break;

            case TeamSignalType.Goto:
                AudioMgr.Play("Play_SignalOntheWay", null, false, false);
                break;
            }
            Singleton <MiniMapView> .Instance.ShowTeamSignal(senderId, signalType, new Vector3(pos.x, pos.y, pos.z));

            string playerHero = Singleton <PvpManager> .Instance.GetPlayerHero(senderId);

            HUDModuleMsgTools.CallBattleMsg_SiderTipsModule_Signal(playerHero, signalType);
        }