Пример #1
0
    public static System.Object PacketToProtocol(ushort packetId, Packet packet)
    {
        switch (packetId)
        {
        case 1020:
            AckRoleLoginOk ackRoleLoginOk = new AckRoleLoginOk(packet);
            return(ackRoleLoginOk);

        case 2020:
            AckScenePlayers ackScenePlayers = new AckScenePlayers(packet);
            return(ackScenePlayers);

        case 2030:
            AckSceneEnter ackSceneEnter = new AckSceneEnter(packet);
            return(ackSceneEnter);

        case 2040:
            AckSceneExit ackSceneExit = new AckSceneExit(packet);
            return(ackSceneExit);

        case 2060:
            AckScenePosRotOk ackScenePosRotOk = new AckScenePosRotOk(packet);
            return(ackScenePosRotOk);

        case 2080:
            AckSceneAnimMoveOk ackSceneAnimMoveOk = new AckSceneAnimMoveOk(packet);
            return(ackSceneAnimMoveOk);

        case 2100:
            AckSceneAnimOk ackSceneAnimOk = new AckSceneAnimOk(packet);
            return(ackSceneAnimOk);
        }

        return(null);
    }
Пример #2
0
    public void OnNetHandler(ushort packetId, System.Object obj)
    {
        Log.Error("SceneMgr OnNetHandler packetId:" + packetId);
        if (packetId == Msg.P_ACK_SCENE_PLAYERS)
        {
            AckScenePlayers scenePlayers = obj as AckScenePlayers;
            foreach (MsgScenePlayer msgPlayer in scenePlayers.players)
            {
                SceneAddPlayer(msgPlayer);
            }
        }
        else if (packetId == Msg.P_ACK_SCENE_ENTER)
        {
            AckSceneEnter  sceneEnter = obj as AckSceneEnter;
            MsgScenePlayer msgPlayer  = sceneEnter.player;

            SceneAddPlayer(msgPlayer);
        }
        else if (packetId == Msg.P_ACK_SCENE_EXIT)
        {
            AckSceneExit sceneExit = obj as AckSceneExit;
            SceneData.DelPlayer(sceneExit.uid);
        }
        else if (packetId == Msg.P_ACK_SCENE_POS_ROT_OK)
        {
            AckScenePosRotOk posRotOk    = obj as AckScenePosRotOk;
            ScenePlayer      scenePlayer = SceneData.GetPlayer(posRotOk.uid);
            if (scenePlayer != null)
            {
                scenePlayer.moveSync.SetPositionAndRotation(posRotOk.posrot);
            }
            else
            {
                Debug.Log("P_ACK_SCENE_POS_ROT_OK no player");
            }
        }
        else if (packetId == Msg.P_ACK_SCENE_ANIM_MOVE_OK)
        {
            AckSceneAnimMoveOk animMoveOk  = obj as AckSceneAnimMoveOk;
            ScenePlayer        scenePlayer = SceneData.GetPlayer(animMoveOk.uid);
            if (scenePlayer != null)
            {
                scenePlayer.moveSync.SetAnim(animMoveOk.is_move);
            }
            else
            {
                Debug.Log("P_ACK_SCENE_ANIM_MOVE_OK no player");
            }
        }
        else if (packetId == Msg.P_ACK_SCENE_ANIM_OK)
        {
            AckSceneAnimOk animOk      = obj as AckSceneAnimOk;
            ScenePlayer    scenePlayer = SceneData.GetPlayer(animOk.uid);
            if (scenePlayer != null)
            {
                scenePlayer.animSync.SetAnim(animOk);
            }
            else
            {
                Debug.Log("P_ACK_SCENE_ANIM_OK no player");
            }
        }
    }