Esempio n. 1
0
    void loadData()
    {
        BattleStartRequest battleStartRequest = new BattleStartRequest();

        battleStartRequest.BattleId = GameData.g_battleId;
        ByteBuffer buffer = new ByteBuffer();

        buffer.WriteShort(132);
        buffer.WriteBytes(battleStartRequest.ToByteArray());
        networkManager.SendMessage(buffer);

        SkillRequest skillRequest = new SkillRequest();
        ByteBuffer   skillBuffer  = new ByteBuffer();

        skillBuffer.WriteShort(110);
        skillBuffer.WriteBytes(skillRequest.ToByteArray());
        networkManager.SendMessage(skillBuffer);

        EquipRequest itemRequest = new EquipRequest();
        ByteBuffer   itemBuffer  = new ByteBuffer();

        itemBuffer.WriteShort(112);
        itemBuffer.WriteBytes(itemRequest.ToByteArray());
        networkManager.SendMessage(itemBuffer);
    }
Esempio n. 2
0
    //-------------------------------------------------------------------------
    async void c2sEquipRequest(EquipRequest equip_request)
    {
        IRpcSession s           = EntityMgr.LastRpcSession;
        ClientInfo  client_info = CoApp.getClientInfo(s);

        if (client_info == null)
        {
            return;
        }

        var task = await Task.Factory.StartNew <Task <MethodData> >(async() =>
        {
            MethodData method_data = new MethodData();
            method_data.method_id  = MethodType.c2sEquipRequest;
            method_data.param1     = EbTool.protobufSerialize <EquipRequest>(equip_request);

            MethodData r = null;
            try
            {
                var grain_playerproxy = GrainClient.GrainFactory.GetGrain <ICellPlayer>(new Guid(client_info.et_player_guid));
                r = await grain_playerproxy.c2sRequest(method_data);
            }
            catch (Exception ex)
            {
                EbLog.Error(ex.ToString());
            }

            return(r);
        });

        if (task.Status == TaskStatus.Faulted || task.Result == null)
        {
            if (task.Exception != null)
            {
                EbLog.Error(task.Exception.ToString());
            }

            return;
        }

        MethodData result = task.Result;

        if (result.method_id == MethodType.None)
        {
            return;
        }

        lock (CoApp.RpcLock)
        {
            var equip_response = EbTool.protobufDeserialize <EquipResponse>(result.param1);
            CoApp.rpcBySession(s, (ushort)MethodType.s2cEquipResponse, equip_response);
        }
    }
Esempio n. 3
0
        public void equipRequest(int c2s_gridIndex, Action <PomeloException, EquipResponse> cb, object option = null)
        {
            var request = new EquipRequest();

            request.c2s_gridIndex = c2s_gridIndex;
            _socket.request <EquipResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
                var rsp  = msg as EquipResponse;
                s2c_code = rsp.s2c_code;
                s2c_msg  = rsp.s2c_msg;
                return(s2c_code == 200);
            }, cb, option);
        }