Example #1
0
        /// <summary>
        /// 调用对应的发呆
        /// </summary>
        /// <param name="msgInt"></param>
        private void Idle(MsgInt msgInt)
        {
            GameObject idleEntity = MgrCenter.EntityMgr.GetItem(msgInt.Int);

            if (idleEntity != null)
            {
                SoilderDriver soilderDriver = idleEntity.GetComponent <SoilderDriver>();
                soilderDriver.Idle();
            }
        }
Example #2
0
 /// <summary>
 /// 处理应用内消息
 /// </summary>
 /// <param name="msg"></param>
 public override void ProcessEvent(MsgBase msg)
 {
     switch (msg.MsgId)
     {
     case (ushort)NetEventTime.CheckTimeRequest:
         MsgInt        msgInt        = msg as MsgInt;
         DelayCheckDTO delayCheckDTO = new DelayCheckDTO(msgInt.Int);    //check多少次
         delayCheckDTO.timeStamps.Add(DateTime.Now.Ticks);
         Send(TimeProtocol.CHECK_CREQ, delayCheckDTO);
         break;
     }
 }
Example #3
0
        /// <summary>
        /// 应用内消息处理
        /// </summary>
        /// <param name="msg"></param>
        public override void ProcessEvent(MsgBase msg)
        {
            switch (msg.MsgId)
            {
            case (ushort)BuildingFightEvent.DefenseTowerAtkCreq:

                MsgInt msgInt = msg as MsgInt;
                Send(FightProtocol.DAMAGE_CREQ, msgInt.Int);

                break;

            case (ushort)BuildingFightEvent.DefenseTowerIdle:

                MsgInt msgInt2 = msg as MsgInt;
                Send(FightProtocol.IDLE_CREQ, msgInt2.Int);

                break;

            case (ushort)MoveEvent.PosSyncClientRequest:

                MsgPosSync msgPosSync = msg as MsgPosSync;
                Vector3    pos        = msgPosSync.pos;
                Vector3    dir        = msgPosSync.dir;
                Send(FightProtocol.POS_SYNC_CREQ, new PosSyncDTO(msgPosSync.instanceId, pos.x, pos.y, pos.z, dir.x, dir.y, dir.z, msgPosSync.timeStamp));

                break;

            case (ushort)SoilderFightEvent.SoilderAtkClientRequest:

                MsgAtkRequest msgAtkRequest = msg as MsgAtkRequest;
                Send(FightProtocol.ATTACK_CREQ, new AttackDTO(msgAtkRequest.attackerId, msgAtkRequest.targetId, DateTime.Now.Ticks));

                break;

            case (ushort)MoveEvent.MoveClientRequest:

                MsgMoveRequest msgMoveRequest = msg as MsgMoveRequest;
                Send(FightProtocol.MOVE_CREQ, new PathRequestDTO(msgMoveRequest.InstanceId, msgMoveRequest.SourcePos.x, msgMoveRequest.SourcePos.y, msgMoveRequest.SourcePos.z, msgMoveRequest.TargetPos.x, msgMoveRequest.TargetPos.y, msgMoveRequest.TargetPos.z));

                break;

            case (ushort)SoilderFightEvent.SoilderIdleClientRequest:

                MsgInt msgInt5 = msg as MsgInt;
                Send(FightProtocol.IDLE_CREQ, msgInt5.Int);

                break;
            }
        }
Example #4
0
        /// <summary>
        /// 处理应用内信息
        /// </summary>
        /// <param name="msg"></param>
        public override void ProcessEvent(MsgBase msg)
        {
            switch (msg.MsgId)
            {
            case (ushort)NetEventSelect.EnterRequest:
                Send(SelectProtocol.ENTER_CREQ);
                break;

            case (ushort)NetEventSelect.SelectRequest:
                MsgInt msgInt = msg as MsgInt;
                Send(SelectProtocol.SELECT_CREQ, msgInt.Int);
                break;

            case (ushort)NetEventSelect.ReadyRequest:
                Send(SelectProtocol.READY_CREQ);
                break;
            }
        }
Example #5
0
        private int selectedHeroId = -1;//已选择的英雄Id

        /// <summary>
        /// 处理消息
        /// </summary>
        /// <param name="msg"></param>
        public override void ProcessEvent(MsgBase msg)
        {
            switch (msg.MsgId)
            {
            case (ushort)NetEventSelect.EnterSres:    //服务器允许进入选择
                MsgSelectRoom msgSelectRoom = msg as MsgSelectRoom;
                Debug.LogWarning("enter sres");
                if (msgSelectRoom.selectRoom != null)
                {
                    this.selectRoom = msgSelectRoom.selectRoom;
                    SetPlayers(this.selectRoom);
                }
                InitialSelectHeroGrids();

                break;

            case (ushort)AssetLoadEvent.AssetLoaded:    //图片加载完成
                MsgAssetLoaded msgAssetLoaded = msg as MsgAssetLoaded;
                string         assetIndex     = msgAssetLoaded.assetName.Split('_')[0];
                int            index          = int.Parse(assetIndex);
                Texture2D      texture        = msgAssetLoaded.asset as Texture2D;
                Sprite         sprite         = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
                OnSpriteLoaded(index, sprite);

                break;

            case (ushort)NetEventSelect.SomeOneEntered:    //有玩家进入了
                MsgInt msgInt = msg as MsgInt;
                UpdatePlayerInfoOnEnter(msgInt.Int, true);

                break;

            case (ushort)SelectUIEvent.HeroPressed:    //按下了某个英雄
                MsgInt msgIndex = msg as MsgInt;
                selectedHeroId = msgIndex.Int;
                heroSelectGridBox.UIOnSomeHeroSelected(msgIndex.Int);

                break;

            case (ushort)NetEventSelect.SomeOneSelected:    //某人选择了英雄
                MsgSelectDTO msgSelectDTO = msg as MsgSelectDTO;
                SelectDTO    selectDTO    = msgSelectDTO.SelectData;
                if (selectDTO != null)
                {
                    UpdatePlayerHero(selectDTO.userId, selectDTO.heroId);
                }
                if (TeamId(selectDTO.userId) == this.teamId)
                {
                    UpdateHeroCouldSelect(selectDTO);
                }

                break;

            case (ushort)NetEventSelect.SomeOneReady:    //有人准备了
                MsgSelectDTO msgSelect = msg as MsgSelectDTO;
                SelectDTO    select    = msgSelect.SelectData;
                UpdatePlayerReady(select.userId, select.isReady);

                break;
            }
        }
Example #6
0
        /// <summary>
        /// 消息处理
        /// </summary>
        /// <param name="msg"></param>
        public override void ProcessEvent(MsgBase msg)
        {
            switch (msg.MsgId)
            {
            case (ushort)AssetLoadEvent.AssetLoaded:    //HUD prefab加载完成后,创建HUD
                MsgAssetLoaded msgAssetLoaded = msg as MsgAssetLoaded;
                if (msgAssetLoaded.bundleName == hudAssetABName && msgAssetLoaded.assetName == hudAssetName)
                {
                    this.hudAsset = msgAssetLoaded.asset;
                    foreach (HUDInfo hudInfo in loadHUDDic.Values)
                    {
                        CreateHUD(hudAsset, hudInfo.id, hudInfo.name, hudInfo.percent, hudInfo.pos);
                    }
                    loadHUDDic.Clear();
                }
                break;

            case (ushort)HUDEvent.CreateHUD:
                MsgHUD msgHUD = msg as MsgHUD;
                if (hudAsset == null)
                {
                    if (loadHUDDic.Count == 0)
                    {
                        SendMsg(Msgs.GetMsgAssetLoadRequest((ushort)AssetLoadEvent.LoadRequest, hudAssetABName, hudAssetName));
                    }

                    if (!loadHUDDic.ContainsKey(msgHUD.Id))
                    {
                        loadHUDDic.Add(msgHUD.Id, new HUDInfo(msgHUD.Name, msgHUD.Id, msgHUD.Percent, msgHUD.Pos));
                    }
                }
                else
                {
                    CreateHUD(hudAsset, msgHUD.Id, msgHUD.Name, msgHUD.Percent, msgHUD.Pos);
                }

                break;

            case (ushort)HUDEvent.DestroyHUD:    //销毁HUD
                MsgInt msgInt = msg as MsgInt;
                UnRegisterHUD(msgInt.Int);

                break;

            case (ushort)HUDEvent.HideHUD:
                MsgInt msgI = msg as MsgInt;
                HideHUD(msgI.Int);

                break;

            case (ushort)HUDEvent.UpdateHUDPos:    //更新HUD的位置
                MsgKV <int, Vector3> msgPos = msg as MsgKV <int, Vector3>;
                if (hudDic.ContainsKey(msgPos.msgKey))
                {
                    UpdateHUDPos(msgPos.msgValue, hudDic[msgPos.msgKey]);
                }

                break;

            case (ushort)HUDEvent.UpdateHUDHp:    //更新HUD的hp信息
                MsgKV <int, float> msgHp = msg as MsgKV <int, float>;
                if (hudDic.ContainsKey(msgHp.msgKey))
                {
                    hudDic[msgHp.msgKey].UpdateHpBar(msgHp.msgValue);
                }

                break;
            }
        }
Example #7
0
 private void Update()
 {
     MsgInt msg = msgBase as MsgInt;
 }