Example #1
0
    public static void broadcastPlayerJoinedAndIsReady(ConnectedPlayer newPlayer)
    {
        PlayerInfoMsg msg = new PlayerInfoMsg();

        foreach (ConnectedClient c in currentClients)
        {
            try{
                //Notify all the already connected Clients
                msg.player.username   = newPlayer.username;
                msg.player.iconNumber = newPlayer.iconNumber;
                msg.player.color      = newPlayer.color;
                c.conn.Send((short)ServerCommProtocl.PlayerJoinedGameRoom, msg);

                if (c == newPlayer.client)
                {
                    continue;
                }

                //Init new Player to all already existing players
                foreach (ConnectedPlayer p in c.players)
                {
                    msg.player.username   = p.username;
                    msg.player.iconNumber = p.iconNumber;
                    msg.player.color      = p.color;
                    newPlayer.client.conn.Send((short)ServerCommProtocl.PlayerJoinedGameRoom, msg);
                }
            }catch (Exception e) { Debug.LogError(e.Data); }
        }
    }
        public void handlePlayerJoinedRoom(NetworkMessage msg)
        {
            PlayerInfoMsg readyMsg = msg.ReadMessage <PlayerInfoMsg> ();
            PlayerInfo    p        = readyMsg.player;

            localGameUI.initPlayerSlot(p.color, p.username, p.iconNumber);
        }
Example #3
0
        public void handlePlayerLeftRoom(NetworkMessage msg)
        {
            PlayerInfoMsg readyMsg = msg.ReadMessage <PlayerInfoMsg> ();
            PlayerInfo    p        = readyMsg.player;

            localGameUI.removeConnectedPlayer(p.color, p.username, p.iconNumber);
        }
Example #4
0
 private void FightRankListRefurbishRole(PlayerInfoMsg info)
 {
     PlayerDataManager.Instance.FightLeaderMaster.Add(info);
     applyCount++;
     if (trueRankDataCount == applyCount)
     {
         NotifyRefreshRankModel();
     }
 }
Example #5
0
        public IEnumerator ApplyPortraitData(Coroutine coroutine, ActivityCharacterProxy _this,
                                             ApplyPortraitDataInMessage msg)
        {
            PlayerInfoMsg data   = new PlayerInfoMsg();
            ErrorCodes    result = MieShiManager.ApplyPortraitData(SceneExtension.GetServerLogicId(msg.Request.ServerId), ref data);

            msg.Response = data;
            msg.Reply((int)result);
            yield break;
        }
Example #6
0
    private void OnRecLogin(object obj)
    {
        PlayerInfoMsg msg = (PlayerInfoMsg)obj;

        PlayerProxy.Instance.Info = msg;

        Debug.Log("login:"******":" + msg.pid);
        Facade.SendNotification(NotificationID.LoginClose);
        Facade.SendNotification(NotificationID.MainOpen);
    }
Example #7
0
        public virtual void handlePlayerJoinedRoom(NetworkMessage msg)
        {
            PlayerInfoMsg readyMsg = msg.ReadMessage <PlayerInfoMsg> ();
            PlayerInfo    p        = readyMsg.player;

            if (currentPlayers.ContainsKey(p.color)) //Apperently sometimes the server sends duplicate messages
            {
                return;
            }

            currentPlayers.Add(p.color, p);
            localGameUI.initPlayerSlot(p.color, p.username, p.iconNumber);
        }
Example #8
0
    void Start()
    {
        Instance        = this;
        CanDoNextEffect = true;

        PVPManager.Instance.Test_LoaderMapAndAvatar();

        if (Define.VSTest)
        {
            PlayerInfoMsg msg = new PlayerInfoMsg();
            msg     = new PlayerInfoMsg();
            msg.pid = 0;
        }
    }
Example #9
0
        //通知当前玩家之前连接的玩家
        private void boardPreRole(long playerId, IChannelHandlerContext ctx)
        {
            Dictionary <long, BaseEntity> pool = EntityMgr.getPool();
            var ier = pool.GetEnumerator();

            while (ier.MoveNext())
            {
                BaseEntity role = ier.Current.Value;
                if (role.UID != playerId)
                {
                    PlayerInfoMsg rtn = getInfoMsg(role.UID, role.RoleData.nickName, 3, role);
                    send(ctx, 102, rtn);
                }
            }
        }
Example #10
0
    private static void broadcastPlayerLeftRoom(ConnectedPlayer leavingPlayer)
    {
        PlayerInfoMsg msg = new PlayerInfoMsg();

        foreach (ConnectedClient c in currentClients)
        {
            try{
                //Notify all the connnectedPlayers
                msg.player.username   = leavingPlayer.username;
                msg.player.iconNumber = leavingPlayer.iconNumber;
                msg.player.color      = leavingPlayer.color;
                c.conn.Send((short)ServerCommProtocl.PlayerLeftGameRoom, msg);
            }catch (Exception e) { Debug.LogError(e.Data); }
        }
    }
Example #11
0
 public void RefresCharacter(PlayerInfoMsg info)
 {
     if (DataModel.ShowPages[6])
     {
         var e = new RankRefreshModelView(info, true);
         DataModel.TargetWorshipCount = info.WorshipCount;
         EventDispatcher.Instance.DispatchEvent(e);
     }
     else
     {
         var e = new RankRefreshModelView(info, false);
         DataModel.TargetWorshipCount = info.WorshipCount;
         EventDispatcher.Instance.DispatchEvent(e);
     }
 }
Example #12
0
        //请求创建玩家
        public override void onExecute(IChannelHandlerContext ctx, PBMessage pbs)
        {
            pb.GetPlayerInfoMsg msg = ProtobufSerializer.DeSerialize <pb.GetPlayerInfoMsg>(pbs.data);
            //返回
            long          uid  = MathUtils.UniqueID;
            string        name = userName;
            PlayerInfoMsg rtn  = getInfoMsg(uid, name, 2);

            Console.WriteLine("PlayerCreateControl msg.playerId " + rtn.playerId);
            //服务器创建实体
            createRole(rtn);
            //通知客户端创建实体
            send(ctx, 102, rtn, 0);
            //
            boardSuffRole(rtn);
            //
            boardPreRole(rtn.playerId, ctx);
        }
Example #13
0
 private void RefurbishRole(PlayerInfoMsg info)
 {
     if (DataModel.ShowPages[6])
     {
         var _e = new RankRefreshModelView(info, true);
         DataModel.TargetWorshipCount = info.WorshipCount;
         EventDispatcher.Instance.DispatchEvent(_e);
     }
     else
     {
         if (info.Id == 0uL)
         {
             return;
         }
         var _e = new RankRefreshModelView(info, false);
         DataModel.TargetWorshipCount = info.WorshipCount;
         EventDispatcher.Instance.DispatchEvent(_e);
     }
 }
Example #14
0
        private void RefurbishRole(PlayerInfoMsg info)
        {
            bool isFirst = false;

            if (null == PlayerDataManager.Instance.FightLeaderMaster)
            {
                isFirst = true;
            }
            if (isFirst)
            {
                EventDispatcher.Instance.DispatchEvent(new FightLeaderMasterEvent());
            }
            if (DataModel.ShowPages[6])
            {
                var _e = new RankRefreshModelView(info, true);
                DataModel.TargetWorshipCount = info.WorshipCount;
                EventDispatcher.Instance.DispatchEvent(_e);
            }
            else if (DataModel.ShowPages[4])
            {
                if (info.MountId <= 0)
                {
                    return;
                }

                var tbMount = Table.GetMount(info.MountId);
                if (tbMount == null)
                {
                    return;
                }

                var _e = new RankRefreshModelView(info, false, true);
                DataModel.TargetWorshipCount = info.WorshipCount;
                DataModel.MountId            = tbMount.Id;
                EventDispatcher.Instance.DispatchEvent(_e);
            }
            else
            {
                var _e = new RankRefreshModelView(info, false);
                DataModel.TargetWorshipCount = info.WorshipCount;
                EventDispatcher.Instance.DispatchEvent(_e);
            }
        }
Example #15
0
        private void createRole(PlayerInfoMsg msg)
        {
            if (EntityMgr.getRole <BaseEntity>(msg.playerId) != null)
            {
                return;
            }
            RoleData roleData = Pool.PoolMgr.Instance.getData <RoleData>();

            roleData.uid       = msg.playerId;
            roleData.nickName  = msg.name;
            roleData.resName   = msg.resName;
            roleData.pos       = new TwlPhy.Vector2(msg.pos.x * 0.001f, msg.pos.y * 0.001f);
            roleData.moveBox   = new TwlPhy.Vector2(msg.moveBox.x * 0.001f, msg.moveBox.y * 0.001f);
            roleData.height    = msg.height * 0.001f;
            roleData.speed     = msg.speed * 0.001f;
            roleData.jumpSpeed = msg.jumpSpeed * 0.001f;
            roleData.scale     = new TwlPhy.Vector3(msg.scale.x * 0.001f, msg.scale.y * 0.001f, msg.scale.z * 0.001f);
            roleData.roleType  = (Role_Type)(msg.roleType);
            roleData.hitBox    = new TwlPhy.Vector2(msg.hitBox.x * 0.001f, msg.hitBox.y * 0.001f);
            roleData.lookFlag  = LookFlag.Right;
            EntityMgr.createRole <NetPlayer>(roleData);
        }
    public override void process(SCPlayerJoinMsg playerJoinMsg)
    {
        if (!SceneUtil.InBattleScene())
        {
            return;
        }

        PlayerInfoMsg playerInfoMsg = playerJoinMsg.playerInfoMsg;
        PlayerInfo    playerInfo    = InstanceManager.instance.playerManager.GetPlayerInfo(playerInfoMsg.playerId);

        if (playerInfo == null)
        {
            GameObject gameObject = GameObject.Instantiate(InstanceManager.instance.prefabManager.enemyPrefab);



            playerInfo            = new PlayerInfo();
            playerInfo.id         = playerInfoMsg.playerId;
            playerInfo.gameObject = gameObject;
            playerInfo.name       = playerInfoMsg.name;
            playerInfo.hp         = playerInfoMsg.hp;

            gameObject.SetActive(true);
            gameObject.name = "Enemy_" + playerInfo.name;

            InstanceManager.instance.playerManager.PutPlayerInfo(playerInfo);

            InstanceManager.instance.playerManager.UpdatePlayerSize(playerInfo);

            Debug.Log(" create enemy " + gameObject.name);
        }

        //Debug.Log(" create enemy gameObject :" + playerInfo.gameObject + " posi :  " + (playerInfoMsg.posi == null));

        playerInfo.gameObject.GetComponent <Transform>().position = new Vector3(playerInfoMsg.posi.x, playerInfoMsg.posi.y, 0);
    }
    private void OnModelInfo(IEvent ievent)
    {
        var e = ievent as BattleUnionRefreshModelView;

        _modelInfo = e.Info;
    }
Example #18
0
 //通知当前已经连接的玩家
 private void boardSuffRole(PlayerInfoMsg rtn)
 {
     rtn.roleType = 3;
     boradcast(rtn, 102, 0);
 }
        private void OnModelMsgEvent(IEvent ievent)
        {
            var _e = ievent as BattleUnionRefreshModelView;

            m_modelInfo = _e.Info;
        }
Example #20
0
        public void RefreshData(UIInitArguments data)
        {
            var args = data as PlayerInfoArguments;

            if (args == null)
            {
                return;
            }
            var msg = args.PlayerInfoMsg;

            playerInfoCatch = msg;

            DataModel.CharacterId = msg.Id;
            DataModel.Type        = msg.TypeId;
            DataModel.Name        = msg.Name;
            DataModel.FightValue  = msg.FightPoint;
            DataModel.Level       = msg.Level;
            DataModel.Ladder      = msg.Ladder;
            DataModel.VipLevel    = msg.VipLevel;
            DataModel.Star        = msg.StarNum;
            if (string.IsNullOrEmpty(msg.GuildName))
            {
                DataModel.GuildName = GameUtils.GetDictionaryText(270024);
            }
            else
            {
                DataModel.GuildName = msg.GuildName;
            }

            DataModel.HpMax       = msg.HpMax;
            DataModel.MpMax       = msg.MpMax;
            DataModel.PhyArmor    = msg.PhyArmor;
            DataModel.MagArmor    = msg.MagArmor;
            DataModel.PhyPowerMax = msg.PhyPowerMax;
            DataModel.PhyPowerMin = msg.PhyPowerMin;
            DataModel.MagPowerMax = msg.MagPowerMax;
            DataModel.MagPowerMin = msg.MagPowerMin;
            DataModel.EquipsModel = msg.EquipsModel;
            DataModel.Tab         = 0;
            DataModel.ElfData.Reset();
            for (var i = 0; i < DataModel.EquipDatas.Count; i++)
            {
                var equip = DataModel.EquipDatas[i];
                equip.Reset();
            }
            if (msg.Equips != null)
            {
                {
                    // foreach(var itemBaseData in msg.Equips.ItemsChange)
                    var enumerator1 = (msg.Equips.ItemsChange).GetEnumerator();
                    while (enumerator1.MoveNext())
                    {
                        var itemBaseData = enumerator1.Current;
                        {
                            if (itemBaseData.Key == (int)eBagType.Elf)
                            {
                                DataModel.ElfData.ItemId = itemBaseData.Value.ItemId;
                                DataModel.ElfData.Exdata.InstallData(itemBaseData.Value.Exdata);
                                continue;
                            }
                            var tempIndex = GetEquipIndex(itemBaseData.Key);
                            if (tempIndex < 0 || tempIndex >= DataModel.EquipDatas.Count)
                            {
                                continue;
                            }
                            DataModel.EquipDatas[tempIndex].Exdata.InstallData(itemBaseData.Value.Exdata);
                            DataModel.EquipDatas[tempIndex].ItemId = itemBaseData.Value.ItemId;
                        }
                    }
                }
            }
            var e = new PlayerInfoRefreshModelView(DataModel.Type, DataModel.EquipsModel, DataModel.ElfData.ItemId);

            EventDispatcher.Instance.DispatchEvent(e);
        }
Example #21
0
    private void RefreshModel(PlayerInfoMsg info)
    {
        if (ObjManager.Instance.ObjPool.ContainsKey((ulong)GetNpcObjId(professionIndex)))
        {
            ObjManager.Instance.RemoveObj((ulong)GetNpcObjId(professionIndex));
        }
        if (null == info)
        {
            var init       = new InitNPCData();
            var npcId      = GetNpcId(professionIndex);
            var tbSceneNpc = Table.GetSceneNpc(npcId);
            if (null == tbSceneNpc)
            {
                return;
            }
            var tbNpc = Table.GetNpcBase(tbSceneNpc.DataID);
            if (null == tbNpc)
            {
                return;
            }
            var tbCharacterBase = Table.GetCharacterBase(tbSceneNpc.DataID);
            if (null == tbCharacterBase)
            {
                return;
            }
            init.DataId = tbSceneNpc.DataID;
            init.ObjId  = (ulong)tbSceneNpc.DataID * 1000;
            init.Name   = tbNpc.Name;
            init.Level  = tbNpc.Level;
            init.HpMax  = init.HpNow = tbCharacterBase.Attr[13];
            init.MpMax  = init.MpNow = tbCharacterBase.Attr[14];
            init.DirX   = (float)Math.Cos(tbSceneNpc.FaceDirection);
            init.DirZ   = (float)Math.Sin(tbSceneNpc.FaceDirection);
            init.X      = (float)tbSceneNpc.PosX;
            init.Z      = (float)tbSceneNpc.PosZ;
            init.Y      = GameLogic.GetTerrainHeight(init.X, init.Z);
            ObjManager.Instance.CreateNPCAsync(init);
            return;
        }
        var dataId       = info.TypeId;
        var objId        = info.Id;
        var equip        = info.EquipsModel;
        var name         = info.Name;
        var allianceName = string.Empty;
        var battleDic    = PlayerDataManager.Instance._battleCityDic;

        foreach (var item in battleDic)
        {
            if (item.Value.Type == 0)
            {
                allianceName = item.Value.Name;
                break;
            }
        }

        /*
         *      var info = ObjManager.Instance.MyPlayer;
         *      var dataId = info.GetDataId();
         *      var objId = info.GetObjId();
         *      var equip = info.EquipList;
         *      var name = info.Name;
         *      var allianceName = "WWWWW";
         */
        if (mFackeCharacter != null)
        {
            mFackeCharacter.Destroy();
        }
        mFackeCharacter = ObjFakeCharacter.Create(dataId, equip, character =>
        {
            if (null == mFackeCharacter)
            {
                character.Destroy();
                return;
            }

            if (character.GetObjId() != mFackeCharacter.GetObjId())
            {
                character.Destroy();
                return;
            }

            var collider    = character.gameObject.AddComponent <CapsuleCollider>();
            collider.center = new Vector3(0, 1, 0);
            collider.height = 2;

            //character.transform.parent = transform;
            character.transform.position = gameObject.transform.position + Offset;
            character.transform.rotation = Quaternion.Euler(0, 180f, 0);
            //character.transform.forward = Quaternion.Euler(ForwardAngle.x, ForwardAngle.y, ForwardAngle.z) * Vector3.forward;
            character.transform.localScale = Scale;


            int inde = 0;
            switch (info.TypeId)
            {
            case 0:
                inde = 460;
                break;

            case 1:
                inde = 461;
                break;

            case 2:
                inde = 462;
                break;
            }
            var tab_Config = DataTable.Table.GetClientConfig(inde);
            if (null != tab_Config)
            {
                var titles = new Dictionary <int, string>();
                var tabid  = 0;
                if (int.TryParse(tab_Config.Value, out tabid))
                {
                    titles.Add(tabid, null);
                    character.CreateNameBoard(name, titles);
                }
            }
        }, 0, false, -1, objId);
        mFackeCharacter.SetObjId(objId);
        //mFackeCharacter.OnWingLoadedCallback = OnWingLoaded;
        mFackeCharacter.gameObject.layer = LayerMask.NameToLayer("ObjLogic");
        mFackeCharacter.iType            = (int)OBJ.TYPE.FAKE_FIGHTLEADER;
    }